我正在使用以下函数发送 ajax 请求:
$.ajax({
url: url,
data: data_params,
dataType: 'json',
success: function(result) {
ResultActions(result);
},
beforeSend: function() {
ShowLoadingAnimation();
},
complete: function() {
$("body").removeClass('loading');
$('#myModal_loading').hide();
},
error: function(jqXHR, textStatus, errorThrown) {
if (jqXHR.status == 0) {
alert('xhr: ' + jqXHR.responseText + '\n' + 'status: ' + textStatus + '\n' + "error: " + errorThrown);
$('.modal').modal('hide');
$('#myModal_offline').modal({ backdrop: 'static', keyboard: false, show: true });
}
}
});
问题在于错误回调。我们的一位客户在调用上述 ajax 函数时遇到问题。加载动画出现(见 beforeSend() ),然后弹出 javascript 警报(错误回调):jqXHR.responseText 为空,状态为“错误”,errorThrown 也是 emtpy。
这是我到目前为止所尝试的:
- 建议客户端清空整个浏览器缓存、cookie 等。
- 将 Access-Control-Allow-Origin: * 标头添加到服务器的响应标头
- 将 Expires: Sat, 26 Jul 1997 05:00:00 GMT 添加到服务器的响应标头
我在整个应用程序中都使用了这个功能,没有其他人遇到过这个问题。他正在使用最新版本的 Chrome,并且也尝试过 IE 和不同的计算机,同样的故事。一个共同的部分是两台计算机都在同一个网络(办公室)中。
请告知如何继续调查。