JSONP跨域的工作原理
来源:互联网 发布:情趣内衣淘宝卖家秀 编辑:程序博客网 时间:2024/05/21 15:00
JSONP 通过动态创建script标签可以跨域的原理,利用回调函数来执行处理数据的行为,
是一种非正式传输协议,该协议的一个要点就是允许用户传递一个callback 或者开始就定义一个回调方法,参数给服务端,然后服务端返回数据时会将这个callback 参数作为函数名来包裹住 JSON 数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。
JSONP 和 JSON 的区别: JSON 是一种传输格式,而 JSONP 呢是一种数据的获取方式。其实他们没什么相关性, JSONP 可以跨域,JSONP只支持GET方式请求不支持。POST。
JSONP漏洞点主要有:callback参数注入、资源访问授权设置!同时他只支持get方式的请求
script请求返回JSON实际上是脚本注入。它虽然解决了跨域问题,但它不是万能的。
1,不能接受HTTP状态码
2,不能使用POST提交(默认GET)
3,不能发送和接受HTTP头
4,不能设置同步调用(默认异步)
<script> function callback_fn(data){ console.log("callback_fn"); console.log(data); } $.ajax({ type:"get", dataType:"jsonp", url:"http://sax.sina.com.cn/newimpress?adunitid=PDPS000000047325&rotate_count=36", jsonpCallback:"callback_fn", success:function(data){ console.log("success"); console.log(data); } });</script>
<script> /*1.动态创建script标签*/ var script = document.createElement('script'); /*2.动态创建回调函数*/ var success = function(data){ console.log(data); } /*3.设置接口地址为script标签的src并且加上回调函数的名称*/ script.src = "http://api.study.com/01jsonp.php?callback=success"; /*4.追加到html文档当中*/ document.body.appendChild(script);</script>
0 0
- JSONP跨域的工作原理
- JSONP 的工作原理
- JSONP 的工作原理
- JSONP 的工作原理,JSONP Demo讲解
- jsonp的工作原理 跨域
- 浅谈JSONP 的工作原理
- JSONP的工作原理,如何解决跨域问题,以及JSON 和XML数据格式的区别
- jsonp解决跨域请求以及其工作原理
- jsonp工作原理详解
- jsonp 工作原理
- jsonp跨域原理
- JSONP跨域原理
- JSONP跨域原理
- jsonp跨域原理
- JSONP跨域的原理解析
- JSONP跨域的原理解析
- JSONP跨域的原理解析
- JSONP跨域的原理解析
- MyBatis (二) Dao层开发
- spring 后置处理器BeanFactoryPostProcessor和BeanPostProcessor的用法和区别
- 利用shell脚本定时完成任务
- BZOJ 2120 带修莫队
- [转]PHP7内核知识
- JSONP跨域的工作原理
- LeetCode-70. Climbing Stairs
- 有关递归的问题
- 子线程中更新UI操作
- html xhtml xml
- 亲测解决小问题的相关网站
- 2017.2.25第二次測試總結
- 1028. List Sorting (25)
- AndroidStudio查看预览的小技巧