【JavaScript】jsonp
为什么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相关推荐
- 【JavaScript】阶段性复习
[JavaScript]阶段性复习 View / MVVM 框架 对比 React .Angular 和 Vue 相同点 不同点 如何实现一个组件,前端组件的设计原则是什么? Vue computed ...
- 【JavaScript】出现即使设置了ID也获取不到的可能原因与window.onload
有时候.在JavaScript中.即使设置了ID也有可能出现document.getElementById()获取不到的情况,然后你就開始想document是否写错之类的.事实上根本就不是你的代码的大 ...
- 【Javascript】深入理解this作用域问题以及new/let/var/const对this作用域的影响
理解this作用域 <javascript高级程序设计>中有说到: this对象是在运行时基于函数的执行环境绑定的:在全局函数中,this等于window,而当函数被作为某个对象调用时,t ...
- 【JavaScript】查漏补缺 —对象转换成字符串JSON.stringify()
[JavaScript]查漏补缺 -对象转换成字符串JSON.stringify() 将字符串转换为对象类型
- 【JavaScript】查漏补缺 —数组中reduce()方法
[JavaScript]查漏补缺 -数组中reduce()方法
- 【JavaScript】查漏补缺 —数组中filter()方法
[JavaScript]查漏补缺 -数组中filter()方法 一.filter()方法 该方法用于过滤数组成员,满足条件的成员组成一个新数组返回.它的参数是一个函数,所有数组成员依次执行该函数,返回 ...
- Number()函数转换‘单个数值的数组‘为何是数字?【JavaScript】
Number()函数转换'单个数值的数组'为何是数字?[JavaScript] 1.Number() 熟悉Number()函数的同学可跳过项 使用Number函数,可以将任意类型的值转化成数值. 原始 ...
- 【JavaScript】DOM 操作元素样式和元素类名
文章目录 [JavaScript]DOM 操作元素样式和元素类名 一. 操作元素样式 (1)操作行内元素 1. 获取元素的样式 2. 设置元素的样式 (2) 操作非行内元素和行内元素 1. 获取元素的 ...
- 【JavaScript】时间与时间戳相互转换
[JavaScript]时间与时间戳相互转换 文章目录 [JavaScript]时间与时间戳相互转换 1.时间戳 2.时间戳转换为时间 3.时间转换为时间戳 4.时间yyyy-MM-dd HH:mm: ...
最新文章
- C2248编译错误的原因和解决--VC6向VC7.1迁移真是累死人,N多编译错误
- SAP Fiori Elements的change and save实现原理
- 数据结构-第九章 内部排序-知识点总结1
- 2019蓝桥杯省赛---java---C---2(矩阵切割)
- Kitura —— 基于 Swift 的 Web 框架
- android开发实践之1:安装部署环境设置
- 最新短视频去水印小程序源码/带流量主/外卖CPS系统/批量解析/修改MD5
- paypal android 教程,android端集成paypal
- Mixly编程使用Arduino ESP32实现ESP-NOW组网
- Win7 桌面右键一直转圈很慢
- 【软件工程】什么是软件工程
- 新华三智慧计算联盟,集结!
- Spring、SpringMVC
- 【C语言练习】趣味题 疏散
- 秦智杂志秦智杂志社秦智编辑部2022年第12期目录
- shell 免杀aspx_asp免杀webshell木马总结
- 【教程+源码】Java开发经典游戏飞翔的小鸟_Java游戏项目Flappy Bird像素鸟游戏
- 【游戏推荐】欧陆风云4 1.33.3.0 all dlc Europa Universalis 4
- html里top是向下,css left right top bottom定位
- 【Windows】文件批量重命名及后缀批量修改
热门文章
- debian9 设置
- python成长之路10——socketserver源码分析
- 20145239杜文超 《Java程序设计》第7周学习总结
- linux安装 lr agent
- C++多重继承时调用相应的父类函数
- Assembly.Load,Assembly.LoadFile 与 Assembly.LoadFrom
- 反编译 破解crash html editor winform [WinHTMLEditorControl.dll][.NET Win HTML Editor Control]
- LVCOLUMN和LVITEM结构体解析
- C++_类和对象_对象特性_构造函数的分类以及调用---C++语言工作笔记041
- 大数据之-Hadoop之HDFS_读数据流程_原理篇---大数据之hadoop工作笔记0069