如果这是一个微不足道的问题我很抱歉,但我找不到如何使用JavaScript发出请求。
var request = new XMLHttpRequest();
request.open("GET", "http://www.google.com");
alert(request.status);
我得到0,但http状态应该在100到600之间。我哪里出错了?
答案 0 :(得分: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");
答案 1 :(得分: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 :(得分:0)
我不确定,但您只是定义了您的请求。你忘记发了吗?
尝试
var request = new XMLHttpRequest();
request.open("GET", "http://www.google.com");
request.send(null);
alert(request.status);