为什么80%的码农都做不了架构师?>>>   

所谓的jsonp,就是利用<script>标签没有跨域限制的“漏洞”(历史遗留问题)来达到与第三方通讯的目的。

当需要通讯时,本站脚本创建一个<script>元素,地址指向第三方的API网址,形如:

<script src="http://www.example.net/api?callback=getJsonpData"></script>

并提供一个回调函数来接收数据(函数名可约定,或通过地址参数传递)。

function getJsonpData( data ){ ..... };

第三方产生解析url上的查询参数,解析出callback的函数名  getJsonpData 。然后发送响应为json数据的包装,例如:

getJsonpData({"name":"hax","gender":"Male"})

这样浏览器会调用 getJsonpData 函数,并解析传递过来的json对象作为参数。本站脚本可在callback函数里处理所传入的数据。

补充:如果在今天重新设计的话,也许就不会允许这样简单的跨域了,比如可能像XHR一样按照CORS规范要求服务器发送特定的http头。

转载于:https://my.oschina.net/cc4zj/blog/1602082

【JavaScript】jsonp相关推荐

  1. 【JavaScript】阶段性复习

    [JavaScript]阶段性复习 View / MVVM 框架 对比 React .Angular 和 Vue 相同点 不同点 如何实现一个组件,前端组件的设计原则是什么? Vue computed ...

  2. 【JavaScript】出现即使设置了ID也获取不到的可能原因与window.onload

    有时候.在JavaScript中.即使设置了ID也有可能出现document.getElementById()获取不到的情况,然后你就開始想document是否写错之类的.事实上根本就不是你的代码的大 ...

  3. 【Javascript】深入理解this作用域问题以及new/let/var/const对this作用域的影响

    理解this作用域 <javascript高级程序设计>中有说到: this对象是在运行时基于函数的执行环境绑定的:在全局函数中,this等于window,而当函数被作为某个对象调用时,t ...

  4. 【JavaScript】查漏补缺 —对象转换成字符串JSON.stringify()

    [JavaScript]查漏补缺 -对象转换成字符串JSON.stringify() 将字符串转换为对象类型

  5. 【JavaScript】查漏补缺 —数组中reduce()方法

    [JavaScript]查漏补缺 -数组中reduce()方法

  6. 【JavaScript】查漏补缺 —数组中filter()方法

    [JavaScript]查漏补缺 -数组中filter()方法 一.filter()方法 该方法用于过滤数组成员,满足条件的成员组成一个新数组返回.它的参数是一个函数,所有数组成员依次执行该函数,返回 ...

  7. Number()函数转换‘单个数值的数组‘为何是数字?【JavaScript】

    Number()函数转换'单个数值的数组'为何是数字?[JavaScript] 1.Number() 熟悉Number()函数的同学可跳过项 使用Number函数,可以将任意类型的值转化成数值. 原始 ...

  8. 【JavaScript】DOM 操作元素样式和元素类名

    文章目录 [JavaScript]DOM 操作元素样式和元素类名 一. 操作元素样式 (1)操作行内元素 1. 获取元素的样式 2. 设置元素的样式 (2) 操作非行内元素和行内元素 1. 获取元素的 ...

  9. 【JavaScript】时间与时间戳相互转换

    [JavaScript]时间与时间戳相互转换 文章目录 [JavaScript]时间与时间戳相互转换 1.时间戳 2.时间戳转换为时间 3.时间转换为时间戳 4.时间yyyy-MM-dd HH:mm: ...

最新文章

  1. C2248编译错误的原因和解决--VC6向VC7.1迁移真是累死人,N多编译错误
  2. SAP Fiori Elements的change and save实现原理
  3. 数据结构-第九章 内部排序-知识点总结1
  4. 2019蓝桥杯省赛---java---C---2(矩阵切割)
  5. Kitura —— 基于 Swift 的 Web 框架
  6. android开发实践之1:安装部署环境设置
  7. 最新短视频去水印小程序源码/带流量主/外卖CPS系统/批量解析/修改MD5
  8. paypal android 教程,android端集成paypal
  9. Mixly编程使用Arduino ESP32实现ESP-NOW组网
  10. Win7 桌面右键一直转圈很慢
  11. 【软件工程】什么是软件工程
  12. 新华三智慧计算联盟,集结!
  13. Spring、SpringMVC
  14. 【C语言练习】趣味题 疏散
  15. 秦智杂志秦智杂志社秦智编辑部2022年第12期目录
  16. shell 免杀aspx_asp免杀webshell木马总结
  17. 【教程+源码】Java开发经典游戏飞翔的小鸟_Java游戏项目Flappy Bird像素鸟游戏
  18. 【游戏推荐】欧陆风云4 1.33.3.0 all dlc Europa Universalis 4
  19. html里top是向下,css left right top bottom定位
  20. 【Windows】文件批量重命名及后缀批量修改

热门文章

  1. debian9 设置
  2. python成长之路10——socketserver源码分析
  3. 20145239杜文超 《Java程序设计》第7周学习总结
  4. linux安装 lr agent
  5. C++多重继承时调用相应的父类函数
  6. Assembly.Load,Assembly.LoadFile 与 Assembly.LoadFrom
  7. 反编译 破解crash html editor winform [WinHTMLEditorControl.dll][.NET Win HTML Editor Control]
  8. LVCOLUMN和LVITEM结构体解析
  9. C++_类和对象_对象特性_构造函数的分类以及调用---C++语言工作笔记041
  10. 大数据之-Hadoop之HDFS_读数据流程_原理篇---大数据之hadoop工作笔记0069