【问题标题】:Jquery Ajax call return 403 statusJquery Ajax 调用返回 403 状态
【发布时间】:2014-02-24 05:12:31
【问题描述】:

我为会话的 keepalive 实现了一个 jquery Ajax 调用,这个 keepAlive() 方法将每 20 分钟调用一次

    function keepAlive() {
        $.ajax({ type: "POST",
            url: "KeepAliveDummy.aspx", cache: false
        });
    }

当第三方内容加载到框架集中时,会​​发生此调用,

我收到了 403 http 状态(通过提琴手检查)这个请求, 这会影响刷新会话超时的最终结果吗?

【问题讨论】:

  • http状态403被禁止,检查是否有CORS问题
  • 在您的 ajax 调用中使用 dataType 和 contentType.. 可能会对您有所帮助。

标签: javascript jquery asp.net ajax session


【解决方案1】:

由于您的问题是关于处理 403 错误(这会影响刷新会话超时的最终结果吗?)而不是 403 是什么。

所以,处理这个错误,你可以记录或通知。

  $.ajax({
      type: "POST",
      url: "KeepAliveDummy.aspx",
      success: function (response) {
          //session refreshed
      },
      error: function (xhr, ajaxOptions, thrownError) {
        if(xhr.status==403) {
            //handle error
        }
      }
    });

【讨论】:

  • 这不起作用,因为 403 既不会触发“错误”也不会触发“完成”——它只是挂起。请参阅下面 Hungnh1704 提供的参考资料:“服务器拒绝响应”。有人知道如何处理 403 吗?
【解决方案2】:

大约 403:

403 Forbidden 该请求是一个有效的请求,但服务器是 拒绝回应。[2]与 401 Unauthorized 响应不同, 身份验证不会有任何区别。[2]

在调用 ajax 之前,它需要您先进行身份验证(如登录)。 401 错误需要在请求时验证标头字段,但 403 不需要。

检查您的服务器或负责身份验证的联系人。

【讨论】:

    猜你喜欢
    • 2016-08-08
    • 2018-11-12
    • 2020-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多