Ajax не работает на удаленном сервере - PullRequest
0 голосов
/ 07 июня 2010

Когда я реализовал функцию чата, я использую 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 Ответ

3 голосов
/ 07 июня 2010

Две точки на самом деле,

Во-первых, если URL-адрес находится в другом домене, модель безопасности по умолчанию в вашем браузере может перестать работать. Во-вторых, взгляните на JQuery, этот объем кода будет сокращен до 2 или 3 строк.

Посмотрите здесь: http://docs.jquery.com/Tutorials

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...