访问控制允许原点不允许原点为空

我制作了一个小的xslt文件来创建一个名为weather.xsl的HTML输出,代码如下:

<!-- DWXMLSource="http://weather.yahooapis.com/forecastrss?w=38325&u=c" -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="yweather"
xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="/">
    <img src="{/*/*/item/yweather:condition/@text}.jpg"/>
</xsl:template>
</xsl:stylesheet>

我想将HTML输出加载到HTML文件中的一个DIV中,我正尝试使用jquery执行以下操作:
<div id="result">
<script type="text/javascript">
$('#result').load('weather.xsl');
</script>
</div>

但我得到了以下错误:
访问控制允许原点不允许原点为空。
我已经读过关于向XSLT添加头的内容,但我不知道该如何做,所以我们会感谢您的帮助,如果不能用这种方式加载HTML输出,那么关于如何做其他操作的建议将是非常好的。


最佳答案:

originnull是本地文件系统,因此这表明您正在加载HTML页面,该页面通过一个loadurl进行调用(例如,在本地文件浏览器中双击它或类似)。不同的浏览器采用不同的方法将Same Origin Policy应用于本地文件。
我的猜测是你看到这个使用铬。Chrome将SOP应用于本地文件的规则非常严格,甚至不允许从与文档相同的目录加载文件。歌剧也是。其他一些浏览器,比如火狐,允许有限的访问本地文件。但基本上,在本地资源中使用Ajax并不能跨浏览器工作。
如果您只是在本地测试一些您将真正部署到Web上的东西,而不是使用本地文件,请安装一个简单的Web服务器并通过file:///urls进行测试。这会给你一张更准确的安全图片。