日期:2014-05-16  浏览次数:20807 次

jquery 1.9.1 ajax调用一直回调error
本帖最后由 BlogOfOwen 于 2014-03-03 16:59:10 编辑
使用jquery 1.9.1版本的时候ajax一直回调error函数,当我改成使用 jquery 1.4.2版本的时候回调success,后台代码完全一样没有修改。还请各位大大看看是怎么回事(必需要使用jquery 1.9.1版本)

js代码如下:
 $.ajax({
        url: root + '/paymentAction.do',
        type: 'POST',
        dataType: 'JSON',
        timeout: 30000, //超时时间:30秒
        data: {
            method: 'queryArea',
            msisdn: msisdn
        },
        error: function () {
            alert('error');
        },
        success: function (json) {
            var data = eval("(" + json + ")");
            alert('seccese');
            if (data.stat == 'fail') {
                return false;
            } else if (data.stat == 'success') {
                queryDiscount();
            } else if (data.stat == 'error') {
                window.location = root + '/InternetFee/error.jsp';
            }
        }


    });


1.使用firebug获取的头信息,一直返回的是200没有错误



2.使用ie F12截图如下,最后的timeroutTimer变量赋值为133,然后就走了error

------解决方案--------------------
{'stat':'success'}
改{"stat":"success"}

不用
 var data = eval("(" + json + ")");
已经是json Object.