當我嘗試從站點獲取XML文件(RSS源)時,我無法獲得它。使用Ajax獲取XML文件
網絡瀏覽器互聯網 資源管理器和Firefox告訴我,我沒有權限。
現在我支持代理,但也許它會產生該消息。難道它是從一個網站(我的) 我無法獲得其他網站(域) 的其他資源出於安全原因?
當我嘗試從站點獲取XML文件(RSS源)時,我無法獲得它。使用Ajax獲取XML文件
網絡瀏覽器互聯網 資源管理器和Firefox告訴我,我沒有權限。
現在我支持代理,但也許它會產生該消息。難道它是從一個網站(我的) 我無法獲得其他網站(域) 的其他資源出於安全原因?
如果您嘗試使用XMLHttpRequest訪問另一個域上的XML文件,那麼您不能故意......這是一個安全問題。然而,一個解決方法是使用代理頁面搶XML,看到這些:
http://developer.yahoo.com/javascript/howto-proxy.html
瀏覽器阻止cross-site scripting。你必須使用相對路徑,否則大多數瀏覽器都會拒絕進行AJAX調用。
作爲一種可能的解決方法,您可以設置一個非常簡單的reverse proxy(如果您使用的是Apache,則爲mod_proxy)。這將允許您在AJAX請求中使用相對路徑,而HTTP服務器將充當任何「遠程」位置的代理。
在mod_proxy中設置反向代理的基本配置指令是ProxyPass。如下您通常會使用它:
ProxyPass /ajax/stackoverflow/ http://stackoverflow.com/feeds/
在這種情況下,瀏覽器會請求/ajax/stackoverflow/tag?tagnames=javascript
但服務器會通過充當代理http://stackoverflow.com/feeds/tag?tagnames=javascript
服務於這個。
這些都是在我的答案中描述的方法mod_proxy的有效替代品。 – 2010-02-11 09:33:20