【问题标题】: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");
【解决方案3】:
我不确定,但您只是定义了您的请求。忘记寄了吗?
试试
var request = new XMLHttpRequest();
request.open("GET", "http://www.google.com");
request.send(null);
alert(request.status);