0

我有以下 AJAX 脚本(包括 chat.php 和index.php) onload=online()<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();
}
4

1 回答 1

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,'/');

这意味着 cookie 接受所有会话和地址及其在 IE 和 Safari 上的工作:D,不要忘记销毁 cookie

setcookie('username', '',time()-3600, '/');
setcookie('password', '',time()-3600, '/');

thx 之前的所有回复和建议,也许解决方案可以帮助像我这样有问题的人 thx

于 2012-11-27T11:23:34.933 回答