2012-06-19 55 views
0

我正在使用PHP和AJAX在頁面中發佈帖子。以下是該頁面的JavaScript代碼。PHP AJAX沒有得到回覆

function Post(posted_by, posted_to) 
    { 
     document.getElementById('post_textarea').disabled='disabled'; 
     document.getElementById('post_button').style.display='none'; 
     document.getElementById('loader').style.display='inline'; 

     if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttpPost=new XMLHttpRequest(); 
     } 
     else 
     {// code for IE6, IE5 
      xmlhttpPost=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 

     var post=document.getElementById("post_textarea").value; 
     var params="type=post&posted_by=" + posted_by + "&posted_to=" + posted_to + "&post=" + post //Parameters for post method.. 

     xmlhttpPost.open("POST","test.php",true); 

     //Send headers; data sent as if it has been posted from form 
     xmlhttpPost.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
     xmlhttpPost.setRequestHeader("Content-length", params.length); 
     xmlhttpPost.setRequestHeader("Connection", "close"); 

     xmlhttpPost.onreadystatechange=function() 
     { 
      //I can reach here... 

      if (xmlhttpPost.readyState==4 && xmlhttpPost.status==200) 
      { 
       //BUT I CAN'T REACH HERE.. GETTING NO RESPONSE 
       document.getElementById('posts').innerHTML = xmlhttpPost.responseText + document.getElementById('posts').innerHTML; 
       document.getElementById("post_textarea").value=""; //Clear textbox 
       hidePostBox(); 
      } 
     } 

     xmlhttpPost.send(params); //Send POST DATA to the server.. 
    } 

在PHP文件中,我使用了ECHOed一行文本來測試它是否有效。

但我沒有把這段文字當作repsonse。根本沒有迴應。

我在另一個網站上使用了相同的JavaScript代碼,它工作正常。這裏的代碼不起作用。

什麼可能是毛刺?

+1

你檢查了錯誤控制檯(Firebug或Chrome開發工具)? – jmdeldin

+1

看來你的頁面可能會丟失一些'div(s)',請確保這些元素不會丟失。其他代碼工作正常,因爲我已經檢查。 –

+0

也許你應該檢查,如果這真的不會返回NULL,當你使用getElementById()? – Yang

回答

2

好的。我從來沒有使用錯誤控制檯。我今天第一次使用它。並發現問題是它沒有得到PHP文件,因爲我使用HTACCESS URL重寫,它與它搞砸