我有一个可以返回错误状态和消息的JQuery ajax请求。
要处理它们,我使用以下代码:
$.ajax("url", {
options: options
}).done(function(text, statusText, data) {
//Manage data
}).fail(function(data) {
//Manage fail
});
在失败句柄中,如果要使用500: internal server error
,我想打开一个带有响应文本的新标签页(用于调试)
我这样做:
if (data.status === 500) {
var w = window.open("App error", "blank");
w.document.write(data.responseText);
}
而且有效!
除了一点:我的浏览器加载了页面,显示了内容(由于它是静态内容,所以这不是一个真正的问题),但是该标签被标记为正在加载...正在加载...。正在加载...
我正在使用Firefox 63.0(64位)。
有人知道这是哪里来的吗?并不是很烦人,这只是我不理解的(有趣?)行为。
答案 0 :(得分:4)
它与w.document.write
行有关。如果关闭文档,则加载程序将完成。将代码更改为:
if (data.status === 500) {
var w = window.open("App error", "blank");
w.document.write(data.responseText);
w.document.close();
}