博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsonp总结
阅读量:6905 次
发布时间:2019-06-27

本文共 716 字,大约阅读时间需要 2 分钟。

由于“同源策略”的限制,ajax不能做跨域请求,jsonp是当下解决跨域请求最流行的方案,来个例子(index.html):

    
Document

json.php页面:

"复读机2","age"=>223);$infoencode = json_encode($info);$callback = $_GET["callback"];echo $callback."(".$infoencode.")";//返回带有json格式数据的字符串?>

说明一下:

发出请求的页面的执行过程:

  动态添加script标签,当添加完成之后,立即向json.php页面做出请求,这个请求是get请求,并携带callback=jsonpCallback查询字符串。

被请求的页面的执行过程:

  1将关联数组通过json_encode函数转化为json数据{"name":"复读机","age":23}并赋值给$infoencode变量

  2通过$_GET函数获取callback的值jsonpCallback

  3返回jsonpCallback({"name":"\u590d\u8bfb\u673a2","age":223})(这个值是通过utf-8编码的)

发送请求页面的执行过程:

  收到一个执行函数,并且执行jsonpCallback函数,完成数据传输!

注意的地方是:1由于jsonp的原理,同域也可以接收到数据;2不同子域名之间也属于跨域,不能通过ajax直接请求

 

转载于:https://www.cnblogs.com/wang-jiang/p/4521094.html

你可能感兴趣的文章
[BZOJ3884]上帝与集合的正确用法
查看>>
20172303 2018-2019-1《程序设计与数据结构》第9周学习总结
查看>>
js循环总结
查看>>
http和https区别及概念
查看>>
Centos7上搭建activemq集群和zookeeper集群
查看>>
Java8系列之重新认识HashMap
查看>>
Oracle 12c
查看>>
tensorflow :ckpt模型转换为pytorch : hdf5模型
查看>>
详细讲解Java中方法的重载和重写
查看>>
HDU 1016 Prime Ring Problem (DFS)
查看>>
POJ 2492 A Bug's Life (并查集)
查看>>
Delete、Drop、Truncate的比较
查看>>
angular模板加载 ----ng-template
查看>>
jquery判断图像是否加载完毕【解决读取缓存不调用load方法的问题】
查看>>
在tomcat下部署两个或多个项目时 log4j和web.xml配置webAppRootKey 的问题(转)
查看>>
cookie-闲聊
查看>>
机器学习算法学习---处理分类问题常用算法(二)
查看>>
New Interview Questions for Senior Software Engineers
查看>>
[Node.js]REPL(交互式解释器)
查看>>
mysql 增加列,修改列名、列属性,删除列语句
查看>>