我正在进行JavaScript Ajax调用,将经典ASP页面的内容加载到div中。
当目标ASP页面出错时,我希望能够检测到它并相应地显示一条消息。问题是即使ASP页面有错误,Ajax调用返回的响应代码也是200.
目前我正在搜索“错误”这个词的响应,以确定目标页面是否有错误,但是它有一个明显的代码味道,我想干净地检查响应代码。 (我已经离开了这个例子)
这是目标ASP页面呈现为:
调用页面上的我的Ajax代码如下:
function GetCompanyDataPage(companyID) {
$.ajax({
type: 'GET',
url: 'workflow_companyData.asp?companyID=' + companyID.toString(),
dataType: 'html',
success: function (xml, textStatus, xhr) {
console.log(arguments);
console.log(xhr.status);
console.log(textStatus);
},
statusCode: {
200: function(xhr) {
if(window.console) console.log("**** Status code 200 *** " + xhr.responseText);
}
},
complete: function (xhr, textStatus) {
console.log(xhr.status);
}
});
生成的控制台消息为:
200成功 ****状态代码200 ***未定义200
我正在努力寻找如何做到这一点 - 也许我正在谷歌搜索错误的东西,也许这是不可能的。请帮忙。
更新
我认为这根本不可能,因为有错误的目标ASP页面仍然正确呈现,它不会出现浏览器错误。因此,Ajax调用正确地将调用视为成功。我认为我唯一能做的就是在我正在做的事情中搜索响应文本中的错误。
答案 0 :(得分:1)
我认为这根本不可能,因为有错误的目标ASP页面仍然正确呈现,它不会出现浏览器错误。
因此,Ajax调用正确地将调用视为成功。唯一可以做的就是在响应文本中搜索当前正在执行的错误。