2011-04-07 109 views
0

當我的asmx webservice位於不同的域中時,下面的代碼似乎不起作用。有什麼我失蹤?使用JQuery進行跨域Ajax調用

function CallGreet() { 
      $.ajax({ 
       type: "POST", 
       url: "http://test.me/TestWebService.asmx/HelloWorld", 
       data: "{}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: OnSuccess, 
       error: OnError 
      }); 
     } 

謝謝...

+0

你使用Chrome? Chrome不允許跨網域使用網絡服務。使用JSon。 – 2011-04-07 05:37:50

回答

0

蘇氨酸的瀏覽器防止使得Ajax JavaScript調用到另一個域。

你可以做什麼,是你在你的域上創建一個本地asp文件,它讀取另一個域上的數據並調用它。

1

我更喜歡包含從其他域可以給我的信息生成的javsacript文件。

<script type="text/javascript" src="http://otherdomain.com/data.php"></script> 

你可以動態地添加一個這樣的腳本:

var s = document.createElement('script'); 
    s.type = 'text/javascript'; 
    s.async = true; 
    s.src = 'http://otherdomain.com/data.php?&timestamp=' + new Date().getTime(); //Added to deter caching 
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(s); 
+1

好吧,這是發送'http'請求,而不是'async' ajax,我想那是什麼'谷歌'呢..仍歡呼! – 2011-04-07 05:46:24

+0

已更新爲動態方法。 – 2011-04-07 05:48:00