Ajax NetworkError:发生网络错误

时间:2013-12-01 12:25:35

标签: jquery ajax api error-handling

就在昨天,这个代码在我的LAMP中启动并运行,我不确定是否可以造成任何重大变化。它是一个简单的ajax脚本,可以从API中检索数据。

今天它停止工作,控制台只是抛出“NetworkError:发生网络错误。”,甚至更奇怪的是,当我自己尝试格式化的GET查询时,一切正常,API响应正确。

http://localhost/uzduotis2/data/mobile/api/mobile.php?query%5Boperators%5D%5B0%5D=1&query%5Boperators%5D%5B1%5D=2&query%5Boperators%5D%5B2%5D=3&query%5Bmin%5D=180&query%5Bsms%5D=400&query%5Bmb%5D=128&query%5Bperks%5D=7&_=1385898696657

好吧,我不知道我还能做些什么 - 也许有办法让错误代码更具体?...无论如何,这是代码:

function ajaxCall(url, req, req_type, async) {

    return jQuery.ajax({
        type: req_type,
        url: url,
        data: req,
        contentType: "charset=utf-8",
        dataType: 'json',
        timeout: 30000,
        async: async,
        cache: false,
    });

}

 var ApiUrl = "http://localhost/uzduotis2/data/mobile/api/mobile.php";

$(document).ready(function() {

// .....

        var req = {query: {operators: Operators, min: Min, sms: Sms, mb: Mb, perks:Perks}};
        var promise = ajaxCall(ApiUrl, req, 'GET', false);

        promise.success(function(out) {
            console.log(out);
//            populate(out);
        });

        promise.error(function(out){
            console.log(out);
        });
}

修改

我刚刚发现它适用于另一个浏览器,必须是缓存相关的问题,也许有人知道它会是什么?

1 个答案:

答案 0 :(得分:0)

您必须以异步方式返回数据,因此必须将异步设置为true

var promise = ajaxCall(ApiUrl, req, 'GET', true);