我创建了一个小的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输出中的加载不能以这种方式完成,那么关于如何做的建议将是很棒的。
发布于 2011-12-10 20:45:06
Origin是本地文件系统,因此这意味着您正在加载通过file:/// null执行load调用的file:///页面(例如,只需在本地文件浏览器或类似浏览器中双击它)。
大多数浏览器甚至不允许从与文档相同的目录加载文件,从而将Same Origin Policy应用于本地文件。(火狐曾经允许相同的目录和子目录,但not any longer。
基本上,在本地资源中使用ajax是行不通的。
如果你只是在本地测试一些你真的要部署到web上的东西,而不是使用本地文件,那么安装一个简单的web服务器并通过http:// URL进行测试。这为您提供了一个更准确的安全图片。您的IDE很可能内置了某种类型的服务器(直接或通过扩展),让您只需在IDE中单击"run“即可启动服务器并为文件提供服务。
发布于 2012-11-07 11:20:23
Chrome和Safari对本地资源使用ajax有限制。这就是为什么它会抛出一个错误,比如
Access-Control-Allow-Origin不允许
原点为空。
解决方案:使用火狐或上传你的数据到一个临时服务器。如果你还想使用Chrome,可以从下面的选项开始;
--allow-file-access-from-files更多信息如何添加上述参数到您的浏览器:右键单击您的任务栏上的浏览器图标,右键单击弹出窗口中的谷歌浏览器,并单击属性,并添加上述参数到目标文本框中的快捷方式标签。它将如下所示;
C:\Users\XXX_USER\AppData\Local\Google\Chrome\Application\chrome.exe --allow-file-access-from-files希望这能有所帮助!
发布于 2014-03-08 00:32:40
我只想补充一下,“运行any服务器”这个答案似乎相当令人望而生畏,但如果您的系统上安装了python (至少在MacOS和任何Linux发行版上默认安装),那么它就像下面这样简单:
python -m http.server # with python3或
python -m SimpleHTTPServer # with python2因此,如果您将html文件myfile.html放在一个文件夹中,例如mydir,那么您所要做的就是:
cd /path/to/mydir
python -m http.server # or the python2 alternative above然后将浏览器指向:
http://localhost:8000/myfile.html你就完了!适用于所有浏览器的,无需禁用web安全,允许本地文件,甚至使用命令行选项重新启动浏览器。
https://stackoverflow.com/questions/8456538
复制相似问题