我正在发送聊天消息,并在特定的 div 中接收它们。所有都用 ajax 读写。在 Chrome 中一切正常,但在 Firefox 中,它没有显示...
这是我的代码:-
var xmlhttp = false;
function read_message() {
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("chatBox").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET",'http://<?php echo $domain; ?>/m.php?id='+<?php echo $id; ?>,true);
xmlhttp.setRequestHeader("Content-type","text/html");
xmlhttp.send();
}
$(document).ready(function(){
setInterval("read_message()", 800);
});
$domain 是在 Header 页面中定义的,它是相同的域,文件正在运行......即,
如果我的聊天页面在 localhost 中,那么 $domain 也是 localhost。我知道 ajax 的同源策略,但这个问题是由于使用http://
.
我不能离开http://
部分,因为我正在使用 url-rewriting 并且我的 url 是http://localhost/chat/user/anonymous
这样的,如果我只使用m.php?id=1
它试图从中获取
http://localhost/chat/user/m.php
显然不存在的页面......它存在于http://localhost/m.php
如果上面提到的一点是错误的,有什么方法可以解决它,或者任何其他更好的帮助会很棒。
谢谢