zoukankan      html  css  js  c++  java
  • AjaxreadyState一直为0

    readyState 一直为0表示对象已建立,连接未建立的状态

    我写的代码:

        function LoadXMLDoc(url,scope,orderID){
            if(window.XMLHttpRequest){
                xmlhttp = new XMLHttpRequest();
            }else if(window.ActiveXObject){
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            alert(xmlhttp);
            if(xmlhttp!=null){
                xmlhttp.onreadystatechange = changeState();
                xmlhttp.open("post",url,true);
                xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
                xmlhttp.send("scope="+scope+"&orderID="+orderID);
            }
        }
    
        function changeState(){
            alert("q");
            alert('state:'+xmlhttp.readyState);
            alert('status:'+xmlhttp.status);
            if(xmlhttp.readyState==4 && xmlhttp.status==200){
                alert("Q");
                window.location.reload();
            }
        }

    后来终于解决了,是因为这句:xmlhttp.onreadystatechange = changeState();这样写的话xmlhttp.onreadystatechange为将changeState的返回值赋给xmlhttp.onreadystatechange;而xmlhttp.onreadystatechange为当状态改变时调用函数changeState,所以应该这样写:xmlhttp.onreadystatechange=changgeState,如果有参数的话这样写:xmlhttp.onreadystatechange = functiong (){changeState(a,b);};

  • 相关阅读:
    08Alpha版(内部测试版)发布
    意见汇总
    第一阶段SCRUM
    团队总结
    与学习通app对比分析
    团队第一阶段评价
    第一阶段完成情况说明
    效绩评估 第二阶段
    效绩评估 第一阶段
    软件对比
  • 原文地址:https://www.cnblogs.com/luoyanli/p/2714927.html
Copyright © 2011-2022 走看看