我是一个 PHP 人,对 javascript 非常陌生。我正在尝试向我正在构建的网站添加一个简单的 AJAX 聊天程序。问题是,我不知道如何测试我的请求是否被发送,或者它背后的 PHP 是否是问题所在。如果是 PHP,我可以修复它,如果是 javascript,那么,这就是这个问题的目的。我没有收到任何错误,但我的数据库中也没有收到任何聊天消息。这是我在聊天页面上的 javascript:
<script type="text/javascript">
var xmlhttp;
var newChatMessage;
window.onunload=function() {
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
}
else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("POST","tinChat_process.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("action=pageClose");
};
function loadChat() {
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
}
else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("POST","tinChat_process.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("action=grabChat");
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("ajaxBox").innerHTML=xmlhttp.responseText;
}
}
t=setTimeout("loadChat()",5000);
}
function sendMessage() {
newChatMessage = "action=newMessage&message=" + document.getElementByID("chatMess").value;
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
}
else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("POST","tinChat_process.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(newChatMessage);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("ajaxBox").innerHTML=xmlhttp.responseText;
}
}
}
loadChat();
</script>
我确信有更好的方法来编写代码,但是任何人都可以看到其中的任何错误吗?我常用的 PHP 调试方法不起作用,因为它们包含带有死消息或 vardumping 预期值等的半分割问题区域 - 所有这些在页面加载后都不会真正显示,对吗?所以这让我无法在它是 PHP 或 javascript 之间进行一半分割。无论如何,感谢您的帮助。