用于聊天用户bug的ajax脚本

时间:2012-11-26 15:03:49

标签: javascript ajax internet-explorer chat

我有以下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();
}

1 个答案:

答案 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, '/');
对于所有的回复和建议之前,也许解决方案可以帮助像我这样的问题的人