2013-07-12 65 views
2

我試圖從不同的域訪問的URL,可以說www.url-one.com,只提供了一個JSON文件,不能做建立一個JSONP文件。這對我使用JQuery的ajax()函數不起作用。JQuery的 - 跨域Ajax調用的JSON文件,而無需JSONP

這裏是我的代碼如下所示:

$.ajax({ 
     url : 'http://url-two.com'+sample, 
     async : false, 
     dataType : 'jsonp', 
     crossDomain: true, 
     success : function(data) { 
      // Some Other Code 
     } 
    } 

我能做些什麼來解決同源策略,而不依賴於JSONP? 在此先感謝 - 我的代理服務器存在重大問題,但我聽說這是可能的。

+1

我真的需要詳細的幫助來設置代理服務器,因爲我之前從未這樣做過 – chatycat99

+0

如果您無法訪問遠程服務器,則無法實現同一來源策略。 – MaxPRafferty

+0

此外,還有很多問題與在此網站上設置代理頁面有關。你運行什麼服務器以及使用哪種語言?沒有這些信息,我們將無法幫助你。 – MaxPRafferty

回答

2

有很多方法可以做到這一點,下面我會提到3我曾經用過自己。

最常見的是使用Cross-Origin Resource Sharing (CORS).

基本上它承載JSON文件(可以稱之爲server1的),將需要正確地設置Access-Control-Allow-Origin頭,以允許其他服務器(讓它調用服務器2)發送到服務器訪問它。

如果你不想或者不能使用CORS你可以做2之一以下:

1:使用Server2上重新寫入規則以重定向業務從服務器2到某個路徑server1的。

2:在server2上使用服務器端代理來獲取json文件。

設置這些東西完全取決於您的服務器設置,我無法幫助你。