How to get HTTP status from JavaScript

2019-05-11 12:52发布

How to get HTTP status code of another site with JavaScript?

4条回答
别忘想泡老子
2楼-- · 2019-05-11 13:32

I assume JavaScript, with JQuery, which simplifies AJAX requests alot, like this.

$.ajax({
  url: 'url',
  type: 'GET',
  complete: function(transport) {
      doing whatever..
  }
});
查看更多
爷、活的狠高调
3楼-- · 2019-05-11 13:40

You can't do this with AJAX directly because of the same origin policy.

You'd have to set up a proxy service on your server then make ajax calls to that with the address you want to check. From your server proxy you can use cURL or whatver tool you like to check the status code and return it to the client.

查看更多
老娘就宠你
4楼-- · 2019-05-11 13:48

Try the following piece of javascript code:

function getReq() {
    var req = false;
    if(window.XMLHttpRequest) {
        try {
            req = new XMLHttpRequest();
        } catch(e) {
            req = false;
        }
    } else if(window.ActiveXObject) {
        try {
            req = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
            req = false;
        }
    }
    if (! req) {
        alert("Your browser does not support XMLHttpRequest.");
    }
    return req;
}

    var req = getReq();

        try {
        req.open("GET", 'http://www.example.com', false);
        req.send("");
    } catch (e) {
        success = false;
        error_msg = "Error: " + e;
    }

alert(req.status);
查看更多
【Aperson】
5楼-- · 2019-05-11 13:48

You will have to use XMLHTTPRequest for getting the HTTP status code. This can be done by making a HEAD request to the server for the required url. Create an XMLHTTPRequest object - xhr, and do the following

 xhr.open("HEAD", <url>,true);
 xhr.onreadystatechange=function() {
     alert("HTTP Status Code:"+xhr.status)
 }
 xhr.send(null);

See here for more details.

查看更多
登录 后发表回答