ie9中方法$ .ajax成功未收到数据

时间:2014-08-07 08:29:44

标签: javascript jquery ajax internet-explorer

在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
             */
        }
    }
}

1 个答案:

答案 0 :(得分:0)

通过将此行添加到接收请求的php-file来解决问题:

header('Content-type: text/html; charset=utf-8');