我正在进行Ajax调用,将一组字段,对象和数组POST到PHP。 10次中有9次这很好用。但是,当多次提交相同的请求(数据没有变化)时,请求偶尔会以Content-Type:text / plain或text / html而不是application / x-www-form-urlencoded发送,从而导致我的PHP。 JSON可能更合适,但任何人都可以想到为什么会发生这种情况?
$.param()
但不认为我需要。我期待JSON的回报。
$.ajax({url: action,
type: "POST",
dataType: "json",
data: $.param($(domElement).data()),
complete: function() {
// Cleanup
},
success: function(data) {
// Handle success.
},
error: function() {
// Handle error
}
});
答案 0 :(得分:0)
不确定为什么这只会在Firefox中发生,但如果您手动设置内容类型会有帮助吗?
$.ajax({url: action,
type: "POST",
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
dataType: "json",
data: $.param($(domElement).data()),
complete: function() {
// Cleanup
},
success: function(data) {
// Handle success.
},
error: function() {
// Handle error
}
});