doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:9420回复:0

[javascript]Failed to execute 'send' on 'XMLHttpRequest': The object's state must be OPENED.

楼主#
更多 发布于:2019-09-16 16:58
在写原生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); //发送的数据

知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号