【问题标题】:How to get urls HTTP status code 403 with javascript如何使用 javascript 获取 urls HTTP 状态码 403
【发布时间】:2023-04-02 12:23:02
【问题描述】:

我有以下 javascript 代码,我想使用 javascript 获取 HTTP 403 Forbidden 响应代码,我尝试了以下代码并对其进行了修改,但它不适合我..

<script type="text/javascript">

var request = new XMLHttpRequest();  
request.open('GET', 'https://domain.com/file', true);
request.send();
request.onreadystatechange = function(){

        if (request.status === 403) {  
            alert("Oh no, it does not exist!");
        }
};



</script>

【问题讨论】:

  • 禁止 (403) 未找到 (404)
  • 就个人而言,我会将 request.send() AFTER 设置为 onreadystatechange - 好吧,如果是我,我会使用 onload/onerror 而不是 onreadystatechange,但随后,我不在乎 IE9 之前的浏览器:p
  • 是的,我也尝试过,但它什么也没返回

标签: javascript ajax http-status-code-403


【解决方案1】:

首先,我会尝试添加readyState 检查,如下所示:

var request = new XMLHttpRequest();  
request.open('GET', 'https://domain.com/file', true);
request.onreadystatechange = function(){
    if (request.readyState === 4) {
        if (request.status === 403) {  
            alert("Oh no, it does not exist!");
        }
    }
};
request.send();

这能解决问题吗?

【讨论】:

  • 不,我在 firebug 中测试过,url 状态是:“403 Forbidden”,但是 javascript 没有检测到这个响应。
  • 啊,我刚刚更新了我的答案。在你设置了 readystatechange 回调之后,你能不能把 send() 方法放在最后。让我知道会发生什么...
  • 我用 404、403 尝试了这段代码,我输入了标题,然后输入了正文内容,但它什么也没返回..
  • 对不起@Ahmediqbal,我对这个有点难过。它对我来说工作正常。在这个例子中,我配置了一个模拟 API 来返回 403,我得到了警告信息,没问题:jsfiddle.net/kieranpotts/skgcp1u6
  • 先发送请求然后检查状态
猜你喜欢
  • 1970-01-01
  • 2011-02-26
  • 1970-01-01
  • 2017-09-12
  • 2019-04-06
  • 1970-01-01
  • 2019-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多