|
阅读:9421回复:0
[javascript]Failed to execute 'send' on 'XMLHttpRequest': The object's state must be OPENED.
在写原生ajax时,遇到如下错误:Uncaught DOMException: Failed to execute 'send' on 'XMLHttpRequest': The object's state must be OPENED.
原因:send方法不能在open方法前面。否则,就会报如上错误。 正确代码如下: //1. 创建xhr对象
var httpRequest;
if(window.XMLHttpRequest){
httpRequest = new XMLHttpRequest(); //DOM
}else if(window.ActiveXObject){
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");//IE
}
//2. 请求设置(打开请求)
//url后面的参数
//let param ="txtUsername="+$("#txtUser").val()+"&txtPwd="+$("#txtPwd").val();
// console.log(param);
//三个参数,1. 请求的方式,get,post 2. 请求的地址
httpRequest.open(methed,url,aync);
//3. 绑定事件,处理服务端响应的数据
httpRequest.onreadystatechange=function(){
if(httpRequest.readyState==4&&httpRequest.status==200){
callback(httpRequest.responseText);
}
}
//4.发送请求
//get 请求时,send(),发送null
// 如果是post请求,需要设置请求的编码
// httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
httpRequest.send(null); //发送的数据 |
|
|