我使用的是 JQuery 1.5.1。
将 JSON 数据(使用 https://github.com/douglascrockford/JSON-js 编码)发送到服务器
编码后的 json 如下所示:
var jsonDataObject = "{'IncomingMessages':
[
{
'Message': 'msg1key'
,'Value': 'value??'
}
]
}";
我的 ajax 调用如下所示:
$.ajax({
url: 'Message'
,global: false
,contentType: 'application/json; charset:utf-8'
,type: 'POST'
,data: jsonDataObject
,dataType: 'json'
});
不知何故 - 当发送 POST 请求时(已使用 Chrome 开发人员工具检查以验证它不是服务器端问题,我的数据已变成:
{"IncomingMessages":
[
{
'Message': 'msg1key'
,'Value': 'valuejQuery151005146652669645846_1302084584797'
}
]
}
看起来和想象的一样?字符串正在被这个 jquery 值替换。该值似乎是某种计数器,因为它会根据连续的请求而递增。
如果有人知道这可能来自何处以及我可以采取哪些措施来解决它,我们将不胜感激。
最佳答案
刚刚发现这里引用了这个:http://bugs.jquery.com/ticket/8417
建议删除
dataType: 'json
从ajax调用将修复它(它似乎确实为我修复了它)
虽然需要这样做,但这似乎非常违反直觉
关于Jquery ajax替换 '??',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5564876/