我已经搜索了一段时间,只能找到processData:false的用处。我找不到遇到过这个问题的人。jQuery Ajax - 将processData设置为false打破了我的AJAX请求
我将JSON传递回服务器,并且不希望jquery自动将数据转换为查询字符串,因此我将processData设置为false。如果我取出processData,我可以看到请求开火,但是一旦我放入,我就看不到任何请求(使用Firebug & Chrome开发工具)。
$.ajax({
url: myUrl,
type: "POST",
data: {foo: "bar"},
processData: false,
contentType: 'application/json'
});
我最初做是有点比这更复杂,但我已经简化它,试图缩小问题,但这个简单的代码无法正常工作或(再次,它的工作,如果该请求我注释掉processData)。另外,我在控制台中没有看到任何Javascript错误。
任何帮助将不胜感激!
编辑对于未来的Google员工:正如寂寞天指出的,如果您提供JS对象或格式不正确的JSON字符串,jQuery不会抛出任何错误。它根本不会触发请求。
非常感谢!我意识到我最初发送的更复杂的数据也格式不正确。有趣的是,jQuery在尝试解析错误的JSON字符串时不会引发任何错误。 – paz 2011-06-06 14:34:11
自从这篇文章已经有一段时间了,但我想添加到@lonesomday,如果你想避免把''手工放在每个属性/值你可以做JSON.stringify(),就这些了。 – vsm 2011-11-27 03:04:10
但是,processData还能做什么? – getsetbro 2014-09-18 18:26:32