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);};

  • 相关阅读:
    推荐书单
    图解Android
    图解Android
    图解Android
    图解Android
    图解Android
    图解Android
    个人博客平台 http://craft6.cn 上线
    数据库设计教程系列——相关知识点整理
    O2O研究系列——O2O知识思维导图整理
  • 原文地址:https://www.cnblogs.com/luoyanli/p/2714927.html
Copyright © 2011-2022 走看看