2012-07-03 45 views
0

我正嘗試使用XMLHttpRequest將變量發送到服務器。如何在Wordpress中使用XMLHttpRequest?

我在非Wordpress文件的本地測試它,它工作。 但在生產上,在我的Wordpress文件中,onreadystatechange AJAX status沒有得到200

在Wordpress中的XMLHttpRequesting中有什麼需要注意的嗎?

<script> 
params = "parameter=" + value; 
request.open("POST", "../myfile.php", true); 
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
request.setRequestHeader("Content-length", params.length); 
request.setRequestHeader("Connection", "close"); 
request.onreadystatechange = function() 
{ 
    if (this.readyState == 4) 
    { 
     if (this.status == 200) 
     { 
      if (this.responseText != null) 
      { 
       console.log('Request completed'); 
      } 
      else console.log("Ajax error: No data received") 
     } 
     else console.log("Ajax error: " + request.statusText); 
    } 
}; 
request.send(params); 

// 'request' is 'XMLHttpRequest()' or 'ActiveXObject("Microsoft.XMLHTTP")' 
// depending on browser 
</script> 

要創建代碼我遵循我的O'Reilly書的the 2nd example

任何建議將不勝感激! 謝謝

+0

你提到你沒有得到200.你得到了什麼狀態碼? – FatalError

+0

這就是奇怪的地方:'request.statusText'是空的......沒有值被拋出。 –

+0

請注意,如果我運行'request.status'而不是'request.statusText',我會得到'0'。 –

回答

1

最終這個腳本沒有錯。

我認爲這是由於我使用的工作框架(Roots WordPress的主題)。 我把它改爲Handcrafted我解決了這個問題。