我有一个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 ..
我无法理解这个错误。当我确实谷歌这个错误,许多建议告诉它可能是跨浏览器问题。我无法控制服务器端代码。
如何从客户端修复该浏览器错误?
答案 0 :(得分:3)
请查看XMLHttpRequests being stopped:
如果您最终得到 status = 0 的XMLHttpRequest statusText = null,表示不允许请求 执行。这是UNSENT。可能的原因是当时 XMLHttpRequest源(在创建XMLHttpRequest时)具有 当XMLHttpRequest然后打开()时更改。这种情况可能发生 例如,当有一个 XMLHttpRequest被触发时 窗口的onunload事件:实际上创建了XMLHttpRequest 当要关闭的窗口仍在那里,然后请求是 当此窗口失去焦点并且可能时,发送(即打开()) 不同的窗口获得了关注。避免这个问题的方法是 在新窗口上设置一个监听器"激活"在什么时候设置的事件 旧窗口有"卸载"事件被解雇了。