【问题标题】:How to make get requests with JavaScript?如何使用 JavaScript 发出请求?
【发布时间】:2015-05-21 15:40:34
【问题描述】:

如果这是一个微不足道的问题,我深表歉意,但我找不到如何使用 JavaScript 发出请求。

var request = new XMLHttpRequest();
request.open("GET", "http://www.google.com");
alert(request.status);

我得到 0,但 http 状态应该在 100 到 600 之间。我哪里出错了?

【问题讨论】:

标签: javascript http get request


【解决方案1】:

问题是您从不提出请求。 See an example of XMLHttpRequest here.

function reqListener () {
  console.log(this.responseText);
}

var oReq = new XMLHttpRequest();
oReq.onload = reqListener;
oReq.open("get", "http://www.google.com", true);
oReq.send();

通知oReq.send(),它发送请求。另请注意reqListener 函数,该函数在请求完成时被调用。

【讨论】:

    【解决方案2】:

    查看文章How to get the response of XMLHttpRequest

    简单来说,XMLHttpRequest默认是异步的,所以需要在onreadystate上注册一个回调函数。

    var request = new XMLHttpRequest();
    request.onreadystatechange=function(){
      if (request.readyState==4 && request.status==200){
        alert(request.status);
        // To get the response use request.responseText;
      }
    }
    request.open("GET", "http://www.google.com");
    request.send(null);
    

    请注意,对于旧版本的 IE(IE5 和 IE6),您需要从 ActiveX 对象中获取请求,如下所示:

    variable=new ActiveXObject("Microsoft.XMLHTTP");
    

    【讨论】:

    • 请举例说明你的答案。欢迎来到 SO。
    【解决方案3】:

    我不确定,但您只是定义了您的请求。忘记寄了吗?

    试试

    var request = new XMLHttpRequest();
    request.open("GET", "http://www.google.com");
    request.send(null);
    alert(request.status);
    

    【讨论】:

      猜你喜欢
      • 2016-08-25
      • 1970-01-01
      • 2018-09-28
      • 1970-01-01
      • 2017-05-15
      • 2015-03-02
      • 1970-01-01
      • 2020-12-17
      • 1970-01-01
      相关资源
      最近更新 更多