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代碼,它工作正常。這裏的代碼不起作用。
什麼可能是毛刺?
你檢查了錯誤控制檯(Firebug或Chrome開發工具)? – jmdeldin
看來你的頁面可能會丟失一些'div(s)',請確保這些元素不會丟失。其他代碼工作正常,因爲我已經檢查。 –
也許你應該檢查,如果這真的不會返回NULL,當你使用getElementById()? – Yang