PHP AJAX无法在'xmlhttprequest'上执行'setrequestheader',必须打开对象的状态

时间:2014-09-08 17:27:56

标签: javascript php jquery ajax


我是AJAX的问题,我有这个错误:

failed to execute 'setrequestheader' on 'xmlhttprequest' the object's state must be opened

我有这段代码:

<script type="text/javascript" language="javascript">// <![CDATA[

    var myRequest = null;

    function CreateXmlHttpReq(handler) {
      var xmlhttp = null;
      try {
            xmlhttp = new XMLHttpRequest();
      } catch(e) {
            try {
                    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
            } catch(e) {
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
      }
      xmlhttp.onreadystatechange = handler;
      return xmlhttp;
    }
    // ]]>
</script>
<script type="text/javascript">// <![CDATA[

    function processa(messaggio,codiceChat){
            myRequest = CreateXmlHttpReq(stampa_chat); //apre la funzione appendi_province
            myRequest.open('POST','script/inviamessaggio.php'); //apre carica_province.php e gli indica che i valori passati devono essere considerati POST
            myRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); //indica che il contenuto di risposta sarà di tipo html-utf8
            myRequest.send("messaggio="+messaggio+"&chat="+codiceChat); //fa passare $_POST['regione']=valore al file carica_regione.php
            myRequest.setRequestHeader("connection", "close"); //chiude la connessione ajax
            alert(messaggio);
    }

    function stampa_chat(){
            if(myRequest.readyState==4 && myRequest.status==200){
                    var a=document.getElementById("chat");
                    a.innerHTML=document.getElementById("chat").innerHTML + myRequest.responseText; //stampa il contenuto html passato all'interno dell'elemento con id="provincia"
            }
    }
    // ]]>
</script>

我在这个网站上搜索过,我发现了这个问题:Ajax error in module: the object's state must be OPENED所以我试图添加 - &gt; myrequest.open()方法中的true参数,但它没有... ... 我错了什么?我不知道自己要做什么......我真的很绝望! 谢谢大家,
丹尼尔

1 个答案:

答案 0 :(得分:-1)

我认为你没有设置:xmlhttp.setRequestHeader("X-Requested-With","XMLHttpRequest");

现在我也有这个问题,但我已经解决了,原因是它