当我尝试从站点获取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