什么是JSONP以及它是怎么产生的
        1.什么是jsonp
                JSONP(JSON with Padding)是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。
        2.它是怎么产生的
                1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准;
                  2、不过我们又发现,Web页面上调用js文件时则不受是否跨域的影响(不仅如此,我们还发现凡是拥有”src”这个属性的标签都拥有跨域的能力,比 如<script>、<img>、<iframe>);
                  3、于是可以判断,当前阶段如果想通过纯web端(ActiveX控件、服务端代理、属于未来的HTML5之Websocket等方式不算)跨域访问数据 就只有一种可能,那就是在远程服务器上设法把数据装进js格式的文件里,供客户端调用和进一步处理;
                  4、恰巧我们已经知道有一种叫做JSON的纯字符数据格式可以简洁的描述复杂数据,更妙的是JSON还被js原生支持,所以在客户端几乎可以随心所欲的处理这种格式的数据;
                  5、这样解决方案就呼之欲出了,web客户端通过与调用脚本一模一样的方式,来调用跨域服务器上动态生成的js格式文件(一般以JSON为后缀),显而易 见,服务器之所以要动态生成JSON文件,目的就在于把客户端需要的数据装入进去。
                  6、客户端在对JSON文件调用成功之后,也就获得了自己所需的数据,剩下的就是按照自己需求进行处理和展现了,这种获取远程数据的方式看起来非常像AJAX,但其实并不一样。
                  7、为了便于客户端使用数据,逐渐形成了一种非正式传输协议,人们把它称作JSONP,该协议的一个要点就是允许用户传递一个callback 参数给服务端,然后服务端返回数据时会将这个callback参数作为函数名来包裹住JSON数据,这样客户端就可以随意定制自己的函数来自动处理返回数 据了。

转载于:https://www.cnblogs.com/ricesm/p/5055031.html

什么是JSONP以及它是怎么产生的相关推荐

  1. json格式天气数据的获取,jsonp方式获取统计图数据

    获取天气情况(不支持跨域) /*json原生获取*/ function getJSON() {var XML;var url = "http://wthrcdn.etouch.cn/weat ...

  2. 区分json与jsonp

    JSON(JavaScript Object Notation)和JSONP(JSON with Padding)虽然只有一个字母的差别,但其实他们根本不是一回事儿,下边简单区分概括一下: JSON是 ...

  3. 使用jsonp跨域请求后可以获得数据,但是进入error方法,返回parseerror

    $.ajax({ url:url, dataType:'jsonp', jsonp: 'callback',//回调函数名字 jsonpCallback: 'success_jsonpCallback ...

  4. Ajax跨域:Jsonp原理解析

    推荐先看下这篇文章:JS跨域(ajax跨域.iframe跨域)解决方法及原理详解(jsonp) JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重 ...

  5. 使用Script元素发送JSONP请求

    // 根据指定URL发送一个JSONP请求 //然后把解析得到的相应数据传递给回调函数 //在URL中添加一个名为jsonp的查询参数,用于指定该请求的回调函数的名称 function getJSON ...

  6. js请求结果拦截机器_js利用jquery的jsonp来解决ajax跨域请求被浏览器拦截结果的问题...

    先来个表.页面太多对不起我也不知道这张表是从哪个博客保存过来的,所以无法注明博客地址.非常抱歉.URL说明是否允许通信 http://www.a.com/a.jshttp://www.a.com/b. ...

  7. 使用 JSONP 实现跨域通信,第 2 部分: 使用 JSONP、jQuery 和 Yahoo! 查询语言构建 mashup...

    使用 JSONP 实现跨域通信,第 2 部分: 使用 JSONP.jQuery 和 Yahoo! 查询语言构建 mashup 使用 JSONP 实现跨域通信,第 2 部分: 使用 JSONP.jQue ...

  8. AJAX 跨域请求 - JSONP获取JSON数据

    Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术.Ajax 允许在不干扰 Web 应用程序的显示 ...

  9. 【备忘】指定为同名callback的jsonp IE下script loaded状态标记

    [已知] 不知道大家有木有了解过jQuery1.0到2.0时候针对jsonp那一块的修改.v1.0的时候还在使用iframe作为请求数据的临时暂居地.以便让过往数据有据可查.保证了jsonp请求的时候 ...

  10. .net学习之母版页执行顺序、jsonp跨域请求原理、IsPostBack原理、服务器端控件按钮Button点击时的过程、缓存、IHttpModule 过滤器...

    1.WebForm使用母版页后执行的顺序是先执行子页面中的Page_Load,再执行母版页中的Page_Load,请求是先生成母版页的控件树,然后将子页面生成的控件树填充到母版页中,最后输出 2.We ...

最新文章

  1. 利用ctrl+z停掉任务再kill的暴力方法关闭ctrl+c ctrl+v都关不了的任务
  2. 特别的520,送给特别的你们,还不来看看?
  3. EDITOR-CALL语句的使用:修改abap内表的内容(代码摘抄)
  4. B 站硬件大佬在 GitHub 上开源了一款神器
  5. ubuntu开启客户端nfs服务_linux系统文件服务
  6. 【Leetcode | 03】String
  7. python有关时间的函数time和datatime
  8. 提醒 顶部弹窗_电脑桌面怎么增加文字提醒?
  9. Unity 之圆环算法
  10. 树莓派4B之雨滴雨水传感器模块(python3)
  11. ie浏览器不显示echart的Tooltip故障修复
  12. 毕业设计 大学生心理健康管理平台
  13. Android 文件选择/文件管理
  14. 谈谈对腾讯360之争的观感
  15. 从平头哥讲起,谈谈全域旅游,说说为什么要做全栈工程师
  16. 《Web安全之机器学习入门》一 3.2 数据集
  17. Gunicorn、Supervisor
  18. win10计算机盘符如何,WIN10修改盘符怎么更改
  19. 人工智能算法工程师成长曲线
  20. css制作逐帧动画-案例

热门文章

  1. JVM006_类加载的过程
  2. 电脑怎么打出冒号符号_Mac小技巧:教你如何在Mac电脑打出command?、option?等特殊符号...
  3. pb11 打印 自定义纸张_pb自定义纸张(连续走纸)
  4. android内部类broadcastreceiver,android 公开静态内部类BroadcastReceiver
  5. 线程同步有几种方法_架构师面试必问的多线程状态切换及常用方法
  6. 开启php缩略图,PHP生成缩略图
  7. php生成pdf中文断码_Rmarkdown导出中文PDF解决方案
  8. pycharm创建我的第一个项目
  9. linux练习 串口跟进程6,linux下串口测试程序
  10. python计算排队时间_Python(pdb)-排队执行命令