2010-06-07 29 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

相關問題