JSONP
-
什么是JSONP
- JSONP(JSON with Padding)是JSON的一种”使用模式“,可用于解决主流浏览器的跨域数据访问的问题。
-
JSONP的实现原理
- 由于浏览器同源策略限制,网页无法通过Ajax请求非同源的接口数据。
- script标签不受浏览器同源策略的影响,可以通过src属性,请求非同源的js脚本数据。
- 通过函数调用的形式,接收跨域接口响应回来的数据。
-
实现JSONP
-
定义一个success回调函数。
<script> function success(data){ console.log("获取到数据"); console.log(data) } </script> 复制代码
-
通过script标签,请求接口数据。
<script src="http://ajax.frontend.itheima.net:3006/api/jsonp?callback=success&name=silly&sge=20"></script> 复制代码
-
-
JSONP的缺点
- 只支持GET数据请求,不支持POET数据请求。
- JSONP与Ajax之间无任何关系,其没有用到XMLHttpRequest对象。
-
jQuery中的JSONP
-
jQuery提供的$.ajax()函数,发起JSONP数据请求
$.ajax({ url:'http://ajax.frontend.itheima.net:3006/api/jsonp?callback=success&name=silly&sge=20', //发起JSONP请求 dataType:'jsonp', success:function(res){ console.log(res.data); } }); 复制代码
-
JSONP示例
请求Github信息
封装一个函数进行请求
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END