为何后端接收不到前端传来的pid值!!!

![图片说明](https://img-ask.csdn.net/upload/201804/26/1524706426_206559.png)图片说明## # 不多说了我附上前后端的代码

把你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上面加上双引号 然后再试下