我正在进行 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 调用正确地将调用视为成功。我认为我唯一能做的就是像我目前所做的那样在响应文本中搜索错误。