Heim > Web-Frontend > js-Tutorial > JQuery Ajax 跨域访问的解决方案_jquery

JQuery Ajax 跨域访问的解决方案_jquery

WBOY
Freigeben: 2016-05-16 18:32:39
Original
926 Leute haben es durchsucht

具体情况有:
一、本域和子域的相互访问: http://www.aa.com/和book.aa.com
二、本域和其他域的相互访问: http://www.aa.com/和http://www.bb.com/ 用 iframe
三、本域和其他域的相互访问: http://www.aa.com/和http://www.bb.com/ 用 XMLHttpRequest访问代理
四、本域和其他域的相互访问: http://www.aa.com/和http://www.bb.com/ 用 JS创建动态脚本
今天主要讨论第4中解决方案,这个和上个的区别就是请求是使用<script>标签来请求的,这个要求也是两个域都是由你来开发才行。原理就是JS文件注入,在本域内的a内生成一个JS标签,它的SRC指向请求的另外一个域的某个页面b,b返回数据即可,可以直接返回JS的代码。因为script的src属性是可以跨域的。 <BR>这里我们需要用到JQuery.getScript(url, callback)方法,url是脚本文件的URL路劲,callback函数在脚本资源已被加载和求值后调用的回调函数。 <BR>首先在bb.com创建一个js文件,test.js <BR><div class="codetitle"><span><a style="CURSOR: pointer" data="69218" class="copybut" id="copybut69218" onclick="doCopy('code69218')"><U>复制代码 代码如下:<div class="codebody" id="code69218"> <BR>var ojb = {msg:'js跨域请求成功'}; <BR> <BR>然后在aa.com的页面上使用$.getScript加载test.js脚本 <BR><div class="codetitle"><span><a style="CURSOR: pointer" data="60932" class="copybut" id="copybut60932" onclick="doCopy('code60932')"><U>复制代码 代码如下:<div class="codebody" id="code60932"> <BR>$(function() { <BR>$.getScript('http://www.bb.com/test.js', function() { <BR>if (ojb) { <BR>alert(obj.msg); <BR>} <BR>}); <BR>}); <BR> <BR>使用$.getScript函数的最大好处就是可以保证,脚本加载完毕后调用回调函数。 <BR>个人感觉这种方法比使用代理和iframe要简单一些。 </script>

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage