Ajax在远程服务器上不起作用

时间:2010-06-07 15:16:00

标签: ajax configuration

当我实现聊天功能时,我使用Ajax在文件之间向另一个发送消息。

所以, 它在当地主机上运作良好。

但是,当我将其上传到远程服务器时,它无法正常工作。

你可以告诉我,为什么? 是Ajax需要特殊配置吗?

Ajax代码:

function Ajax_Send(GP,URL,PARAMETERS,RESPONSEFUNCTION){
    var xmlhttp
    try{
        xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")
    }
    catch(e) {
        try{
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
        }
        catch(e){
            try{
                xmlhttp=new XMLHttpRequest()
            }
            catch(e){
                alert("Your Browser Does Not Support AJAX")
            }
        }
    }

    err=""
    if (GP==undefined) err="GP "
    if (URL==undefined) err +="URL "
    if (PARAMETERS==undefined) err+="PARAMETERS"
    if (err!=""){alert("Missing Identifier(s)\n\n"+err);return false;}

    xmlhttp.onreadystatechange=function(){
        if (xmlhttp.readyState == 4){
            if (RESPONSEFUNCTION=="") return false;
            eval(RESPONSEFUNCTION(xmlhttp.responseText))
        }
    }

    if (GP=="GET"){
        URL+="?"+PARAMETERS
        xmlhttp.open("GET",URL,true)
        xmlhttp.send(null)
    }

    if (GP="POST"){
        PARAMETERS=encodeURI(PARAMETERS)
        xmlhttp.open("POST",URL,true)
        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
        xmlhttp.setRequestHeader("Content-length",PARAMETERS.length)
        xmlhttp.setRequestHeader("Connection", "close")
        xmlhttp.send(PARAMETERS)
    }       
}

1 个答案:

答案 0 :(得分:3)

真的有两点,

首先,如果URL位于其他域中,则浏览器中的默认安全模型可能会停止工作。 其次,看看JQuery,这段代码将减少到2或3行。

看看这里:http://docs.jquery.com/Tutorials

相关问题