我正在使用 jQuery 显示外部 JavaScript 文件。 “同源策略”没有被破坏的原因是因为它不是 AJAX 请求吗?
http://jsfiddle.net/m7q3H/52/
小提琴代码:
HTML
这里绝对没问题哦。您可以从任何您想要的地方引用 javascript 文件。例如,Google CDN 提供了常见的 js 文件,例如您可以使用的 jQuery:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
顺便说一句,这正是 jQuery 的实现方式JSONP作品。它使用 javascript 来注入<script>
动态标记到指向某个远程服务器端脚本的 DOM:
<script src="//remotedomain.com/script?callback=abc"></script>
这个远程脚本响应一个Content-Type: 'application/x-javascript'
响应标头和以下正文:
abc({"foo":"bar"})
在您的域上,您只需定义abc
功能:
<script type="text/javascript">
function abc(data) {
alert(data.foo);
}
</script>
就这样:跨域 AJAX 的模拟(我说模拟是因为它没有使用本机 XHR 对象,但它达到了相同的效果)。
现在您可以理解为什么 jQuery 的 JSONP 实现仅限于 GET 请求 => 因为当您注入 script 标签时,浏览器仅向其发送 GET 请求src
属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)