把你ajax的contentType那一行去掉
这是用jfinal框架写的
{"name": "uname", "age": 18}
注意,这个地方不是json对象,是json字符串,字符串。
$.ajax({
type: 'post',
url: 'aaa/bbb.do',
contentType: 'application/json;charset=utf-8',
data: '{"name": "uname", "age": 18}',
success: function (data) { //返回json结果
alert(data);
}
});
2个contentType去掉,还有processData也去掉。
如果你要发送JSON字符串保持原结构,要同时设置
contentType:'application/json',
processData:false,
data:JSON.stringify(JSON对象)
如果上面都有值,就是你后端代码的接受值那块有问题
亲,如果只是pid后端接收不到的话,可以在前端页面触发ajax之前,用console或者alert一下,看这个pid能取到吗?
如果能取到,打开F12网络调试,查看请求的参数是否pid有值,先定位在哪出错
dataType:'json' contenxtType不需要吧 数据格式一般是json字符串
1.你先查看前台pid是否为空,如果为空后台就自然是为空,
2.如果pid不为空 你看下你的ajax请求进入了后台没有
3.你想要传参的结构应该是json格式,在pid上面加上双引号 然后再试下