我使用以下代码在端口 9084 上调用另一台用户计算机上的应用程序(由于缺少 DEV 服务器)。这是一个 JAVA 应用程序,我想从 ASP.Net 应用程序调用它(它使用母版页)。我想调用下面的 URL,它将返回 403 错误状态和 cookie 中的 session ID。我想使用此 session ID 并使用应用程序 ID 和密码进行另一次调用。
当我在浏览器中使用 URL“http:fwdslash fwdslash machinename:9084 fwdslash PropertyInsuranceDB fwdslash propertyAssociation fwdslash ajax fwdslash getPolicyAddress fwdslash H0271812 fwdslash 08”时,我收到 HTTP 403 Forbidden 错误页面。当我尝试下面的代码时,我在 Fiddler 中看到了相同的内容,但我无法将其捕获在下面的 ajax 调用的错误部分中。
我可能做错了什么?任何建议将不胜感激。
$.ajax({ url: "http://machinename:9084/PropertyInsuranceDB/propertyAssociation/ajax/getPolicyAddress/H0271812/08",
context : document.body,
type: "get",
success: function (data, status) {
alert(status);
},
error: function (xhr, desc, err) {
alert(xhr.status);
alert(desc);
alert(err);
}
});
谢谢
--尼维迪塔
最佳答案
如果服务器返回某些内容,通常会被视为成功的 ajax 调用,即使它没有返回您希望返回的内容。
要捕获状态代码,您可以执行以下操作
$.ajax({
url: "YOURURLHERE",
context: document.body,
type: "get",
statusCode: {
403: function (xhr) {
console.log('403 response');
}
},
success: function (data, status) {
alert(status);
},
error: function (xhr, desc, err) {
alert(xhr.status);
alert(desc);
alert(err);
}
});
关于jquery - 无法检测 jquery AJAX 调用中的 403 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22106522/