Maison > interface Web > js tutoriel > Javascript跨域请求的4种解决方式_javascript技巧

Javascript跨域请求的4种解决方式_javascript技巧

WBOY
Libérer: 2016-05-16 17:40:21
original
1244 Les gens l'ont consulté
什么情况下才会出现跨域
假设域名是:http://www.example.com.cn/
如果所请求的域名跟这个域名不致,这种情况就是跨域,由于跨域存在漏洞,所以一般来说正常的跨域请求方式是请求不到的。
解决方式
一、window.name
1、 服务器返回
复制代码 代码如下:

<script>window.name='{"id":"3", "name":"leisure"}';</script>
2、定义一个iframe,添加onload事件

3、定义一个form,设置form的target为iframe的id,然后提交form
复制代码 代码如下:





二、JSONP
服务器返回 callback({"id": "3", "name": "leisure"});
复制代码 代码如下:




三、jQuery.getJSON
服务器返回 json格式数据 test({"id": "3", "name": "leisure"}); test函数名为callback参数中定义
复制代码 代码如下:

$.getJSON(url + "?callback=?", data, function(data) {
}

注意callback=?这个参数必须带上,jquery会自动生成一个函数名替换这个问号!jQuery.getJSON实际上是用了JSONP方式实现。
四、flash跨域
服务器添加crossdomain.xml
http://www.example.com.cn/crossdomain.xml
复制代码 代码如下:





Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal