2009-11-19 69 views
0

這是我的Ajax代碼,是否可以將數據從一個網址發佈到另一個網址?

例如URL 1:www.text1.com和URL 2:www.text2.com/check.asp

在這裏,我棒後數據從text1.com到text2.com ....

這可能嗎?

<script type="text/javascript"> 
function ajaxFunctionSearch() { 
    var xmlHttp; 

    try { 
     xmlHttp = new XMLHttpRequest(); 
    } 
    catch(e) { 
     try { 
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
     } 
     catch(e) { 
      try { 
       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      catch(e) { 
       alert("Your browser does not support AJAX!"); 
       return false; 
      } 
     } 
    } 
    xmlHttp.onreadystatechange = function() { 
     if (xmlHttp.readyState == 4) { 
      document.getElementById("SXML").value = xmlHttp.responseText; 
     } 
    } 
    var params = "CountryID=" + document.getElementById("DEMOCNY").value 
    xmlHttp.open("POST", "http://text2.com/Check.asp", true); 
    xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    xmlHttp.setRequestHeader("Content-length", params.length); 
    xmlHttp.setRequestHeader("Connection", "close"); 
    xmlHttp.send(params); 

} 
</script> 

回答

0

否 - JavaScript的安全性限制是它無法與不同於該頁面所服務的域進行通信。

如果您的網頁由www.text1.com提供,那麼您只能向域www.text1.com上的其他頁面發送請求。

1

same origin policy無因,總之你JavaScript可以只講到服務器上的同一個域有它從得到的頁面。

您必須製作一些服務器腳本才能發佈到您的www.test2.com

你可以在那裏看看如何在C#中建立一個proxy,基本上你必須使用HttpWebRequest來將ajax調用轉發到www.test2.com

此外,如果兩個服務器都在櫃子裏,你可能最好做DB插入或任何類型的處理直接,如果你可以

+0

什麼類型的服務器腳本..,你可以幫我...因爲,這兩個網站在我的控制 – Alex 2009-11-19 08:39:18

+0

你使用什麼服務器語言? – RageZ 2009-11-19 08:42:10

+0

服務器語言是經典的ASP – Alex 2009-11-19 08:43:25

0

像以前的回答者說的那樣,原則上不可能。但是最近開發的技術允許在某些情況下跨域請求。

谷歌對於CORS或看看這裏:hacks.mozilla.org。 IE8還包含一個XDomainRequest object,但我從來沒有使用過。

但它們仍然是非常的alpha,而不是任何人都會稱之爲跨瀏覽器技術。

相關問題