jquery - 无法检测 jquery AJAX 调用中的 403 状态代码

标签 jquery asp.net ajax

我使用以下代码在端口 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/

相关文章:

javascript - 谷歌地图可拖动标记在折叠类 Bootstrap 中不起作用

javascript - 如何从offcanvas打开offcanvas

c# - 有人想转发它吗?

c# - 从 php 平滑过渡到 asp.net c#

Asp.NET 下拉列表方向

javascript - 无法在 javascript 脚本标记内输出实际的 json 数据

jquery - 是否有现成的 jquery 插件可以实时编辑/构建 html 代码?

javascript - 是否有使用 DIV 容器而不是列表来放置单独内容的轮播?

ajax - 如何在 Apache 中为 REST 设置代理

javascript - 使用变量数组创建 jQuery 模糊事件