2010-06-06 67 views
1

不知道是否有可能,但我怎麼從一個URL使用JavaScript閱讀資源沒有ajax?使用javascript來閱讀沒有ajax的鏈接資源

例如,下面的URL是包含一個靜態文本文件JSON編碼文本

http://mysite.s3.amazonaws.com/jsonencodedcontent.txt

我想使用JavaScript來讀取從上述鏈接的內容,讀出的內容JSON成一個javascript變量。

我不能使用ajax,因爲跨站點,我無法控制亞馬遜S3域。

無論如何要實現這一目標?

+1

上次我檢查JSON沒有XSS問題。檢查此:http://api.jquery.com/jQuery.getJSON/ – Ben 2010-06-06 21:00:59

+1

抱歉,我的意思是相同的原產地政策,因爲資源來自amasonaws.com,而不是我的域名。 – Beier 2010-06-06 21:49:31

回答

3

先試試@ Ben的建議。如果因爲任何原因,在你的情況下不起作用,這裏有兩個我已經看到和使用的選項,可能或不可用在你的情況(我提供了兩個過於簡化的例子,只是爲了闡明我的觀點):

創建駐留在你的域和檢索並返回你的跨站點內容的服務器端資源:

<?php 
die(file_get_contents('http://mysite.s3.amazonaws.com/jsonencodedcontent.txt')); 

使用mod_rewrite(或類似的東西)來創建你的站點上虛擬的資源,解析幕後的遠程內容:

RewriteEngine On 
RewriteRule ^jsonencodedcontext\.txt$ http://mysite.s3.amazonaws.com/jsonencodedcontent.txt [P] 
+0

謝謝你的建議Lauri。我使用s3的原因是爲了減少我的服務器帶寬負載。但選項2聽起來像,我會嘗試 – Beier 2010-06-06 21:53:31

+0

只是嘗試選項二。問題是,當我使用jQuery在http://mysite.com/jsonencodedcontext.txt上發出ajax調用時,它不遵循302重定向發出的mod_rewrite。 – Beier 2010-06-06 22:17:56

+0

我的理解是mod_rewrite不應該發出重定向,除非你使用[R]標誌。最終的結果應該完全隱藏jQuery。 – 2010-06-06 22:41:43