我有以下AJAX脚本(包括onload=online()
index.php上的chat.php和<body>
,它显示了在线并在Firefox和Chrome中运行良好的用户,但是当我尝试登录时在使用IE8时,脚本不起作用。
任何人都可以帮我解决这个问题吗?也许AJAX脚本错误或与IE不兼容?
function online(){
if (window.XMLHttpRequest){
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else{
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
document.getElementById("online").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","proses-chat.php");
xmlhttp.send();
setTimeout("online()", 8000);
}
function autofocus(){
document.form_login.elements['username'].focus();
}
答案 0 :(得分:0)
在1天内解决:D,问题不在于ajax脚本,而在于setcookies()
setcookie('username',$username,time()+36000,'http://$domain');
setcookie('password',$password,time()+36000,'http://$domain');
//$domain as define as $_SERVER['HTTP_HOST'] = localhost
这是我在check_login.php之前的cookie,最后IE和Safari没有读取本地主机,我将替换为:
setcookie('username',$username,time()+3600,'/');
setcookie('password',$password,time()+3600,'/');
这意味着cookies接受所有会话和地址及其在IE和Safari上的工作:D,别忘了销毁cookie
setcookie('username', '',time()-3600, '/');
setcookie('password', '',time()-3600, '/');
对于所有的回复和建议之前,也许解决方案可以帮助像我这样的问题的人