jsonp的使用

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代码

  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。