ajax post返回Object {readyState = 0,status = 0,statusText =“error”}

时间:2014-09-12 23:17:17

标签: ajax .post

我有一个json字符串{offer.offer.offerId.USSellerId:{$ gt:50}}。我想做的就是用这个json查询作为有效负载调用POST REST服务并获取返回的JSON。

我能够使用chrome高级休息客户端调用该服务,然后我将数据恢复。但我的问题是,当我尝试使用下面的代码行调用此服务时,我得到以下错误

    $.ajax({
        url:"http://10.242.172.12:8080/cqs/services/services/cqs/search",
        Accept: "application/json",
        type: "POST",
        contentType: "application/json",
        data: {"offer.offer.offerId.USSellerId": {"$gt": 50}},
        async:true,
        crossDomain: true,
        always: function(data, textStatus, errorThrown) {
         console.log(data)
         console.log(textStatus)
        },
        success: function (data) {
            console.log(data)
            alert(data);
        },
        error: function (data, status, err) {
            console.log(data)
            console.log(status)
            console.log(err)
        }
    });

我在控制台中看到以下内容:

对象{readyState = 0,status = 0,statusText =“error”} 错误 emptry string ..

我无法理解这个错误。当我确实谷歌这个错误,许多建议告诉它可能是跨浏览器问题。我无法控制服务器端代码。

如何从客户端修复该浏览器错误?

1 个答案:

答案 0 :(得分:3)

请查看XMLHttpRequests being stopped

  

如果您最终得到 status = 0 的XMLHttpRequest   statusText = null,表示不允许请求   执行。这是UNSENT。可能的原因是当时   XMLHttpRequest源(在创建XMLHttpRequest时)具有   当XMLHttpRequest然后打开()时更改。这种情况可能发生   例如,当有一个 XMLHttpRequest被触发时   窗口的onunload事件:实际上创建了XMLHttpRequest   当要关闭的窗口仍在那里,然后请求是   当此窗口失去焦点并且可能时,发送(即打开())   不同的窗口获得了关注。避免这个问题的方法是   在新窗口上设置一个监听器"激活"在什么时候设置的事件   旧窗口有"卸载"事件被解雇了。

相关问题