我所理解的JSONP跨域

JSONP: json with padding

 因为同源策略的存在,AJAX不能实现跨域获取数据,那么就有了用jsonp这种方法,来模仿实现AJAX功能。

 浏览器这个客户端需要定义一个处理函数fn(),也就是回调函数。然后html中再用<script>标签的src获取数据,数据的返回值必须有后端的配合,生成一个fn("json"),也就是说返回值不再是一个json数据,而是一个可以执行的js函数,而此函数与处理函数同名,那么就自动调用了回调函数来处理json。

 为了将回调函数名作为参数传递,这样避免每次和后端沟通函数名。在url中&callback=fn,后端php中$_GET["callback"]获取fn,将函数名当做变量传递。

 


 总结下,jsonp就是获取后端输出的可执行函数(函数带json数据)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • AJAX 原生js操作ajax 1.创建XMLHttpRequest对象 var xhr = new XMLHtt...
    碧玉含香阅读 3,274评论 0 7
  • JavaScript是一种在Web开发中经常使用的前端动态脚本技术。在JavaScript中,有一个很重要的...
    西瓜w阅读 1,784评论 0 1
  • 0. 前言 说到AJAX就会不可避免的面临两个问题。 AJAX以何种格式来交换数据? 第二个是跨域的需求如何解决?...
    公子七阅读 23,675评论 7 67
  • 本博客转自:「作者:若愚链接:https://zhuanlan.zhihu.com/p/22361337来源:知乎...
    韩宝亿阅读 2,798评论 0 3
  • 第一章 入门 基本功能:访问和操作 dom 元素,控制页面样式,对页面的事件处理,与ajax完美结合,有丰富的插件...
    X_Arts阅读 1,066评论 0 2