我正在使用以下代码在端口9084上的另一用户计算机上调用应用程序(因为缺少DEV服务器)。这是一个我想从我的ASP.Net应用程序调用的JAVA应用程序(它使用母版页)。我想调用下面的URL,该URL将在cookie中返回403错误状态和会话ID。我想使用此会话ID,并使用应用程序ID和密码进行另一个呼叫。

当我在浏览器中使用URL“ http:fwdslash fwdslash机器名: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);
     }
 });

09-27 19:28