在ie9中,success方法只接收两个参数:textStatus和XMLHttpRequest。数据始终未定义。在所有其他浏览器中,代码正常工作,所有3个参数都发送到success方法。因此,在完成后我无法处理任何ajax请求。可能是什么原因?
以下是方法代码的一部分:
SendAjax = function(async, type, act, t, datas)
{
var datatype = 'html';
if (type=='reload_weather' || type=='popup' || act == 'set_location')
datatype = 'json';
var result = 0;
$.ajax({
url: '_ajax/',
data: {act:act, type:type, datas:datas},
type: "POST",
dataType: datatype,
cache: false,
async: async,
success: function(data, textStatus, XMLHttpRequest)
{
printArray(arguments);
/*
{
"1": "success",
"2": {
"readyState": 4,
"status": 200,
"statusText": "OK"
}
}
*/
printArray(data);
/*
undefined
*/
}
}
}
答案 0 :(得分:0)
通过将此行添加到接收请求的php-file来解决问题:
header('Content-type: text/html; charset=utf-8');