标签:
1、什么是jsonp
jsnop是一种跨越发送ajax请求的技术,由于浏览器域的限制,ajax请求只能发给同一个域(域名端口号相同)下的脚本,但在实际应用部署中,不同域名之间可能是需要相互ajax通信的
2、jsonp原理
在html标签中,浏览器允许script标签发送get请求加载src中的资源,并获得返回后立即执行,
但img iframe标签只可以发送请求,但却不可以获得返回,利用这一原理,可以有如下思路:
www.test.com/a.php需要向user.test.com/b.php发送请求
a、首先在www域下a.php中用js创建一个script标签,并将其src属性设为user.test.com/b.php
b、这时www域将向user域发送get请求,user域完成操作后返回echo出一个字符串
c、www域拿到返回的字符串,按照script标签特性,这时将执行这个字符串,如果我们将这个字符串的格式写为js代码格式,则将成功执行这段js代码
d、执行js代码,完成操作
3、项目中使用实例
www.test.com/a.php中需要发送跨越请求,则使用ajax发送并将type设为jsonp,并把目标地址设为user.test.com/b.php?callback=excete
b.php接受callback参数$c = $_GET[‘callback‘],处理数据请求,返回echo $c."();" 也就是excute();
a.php接收返回的数据excute(); 这时将执行a.php中的js代码
标签:
原文地址:http://www.cnblogs.com/zyflhh/p/4381637.html