我有这个简单的ajax请求。问题是contentType。当我把这个属性,东西发送,但我无法访问服务器端。当我删除它,它被发送正常(但可能不是在JSON中),我也可以访问它。我只是想知道是否有人可以帮我解决问题。
$.ajax({
type: "POST",
url: _common.Ajax.url,
data: {
action: 'faraz'
},
contentType: "application/json"
})
.success(function () {
alert('success');
})
.fail(function () {
alert('failed');
})
.error(function () {
alert('errror');
})
答案 0 :(得分:1)
jQuery只会格式化data
for the default of application/x-www-form-urlencoded
:
要发送到服务器的数据。 如果还不是字符串,则转换为查询字符串。 [...]
如果需要其他contentType
,您还必须格式化data
以匹配:
// ...
data: JSON.stringify( { action: 'faraz' } ),
contentType: "application/json"
// ...
注意:对于ECMAScript 3,IE8等支持,您可以包含json2.js之类的polyfill。