2010-06-07 73 views
-1

当我实现聊天功能时,我使用Ajax在文件之间发送消息到另一个。Ajax在远程服务器上不起作用

so, 它在本地主机上运行良好。

但是,当我将它上传到远程服务器时,它不起作用。

你能告诉我,为什么? 是一个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) 
    }  
} 
+0

我们可以看看你是如何调用这个函数的吗?你通过http://?这个源代码和你的xmlresponse的URL是什么? – Yeodave 2010-06-07 16:03:53

+0

谢谢Yeodave, 这条语句是为了将数据传递给users.php。 Ajax_Send(“POST”,“users.php”,data,checkSignIn); 我认为这个声明包括xmlresponse和URLs。 – Nina 2010-06-07 16:44:10

回答

3

两点,

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

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

+0

感谢您的回复。 但是,可以ü纠正上面的代码请。 取决于这个问题。 – Nina 2010-06-07 15:50:04

相关问题