什么是JSONP

三句话总结:

  1. 概念:JSONP(JSON with Padding)是JSON的一种“使用模式”。
  2. 目的:用于解决主流浏览器的跨域数据访问的问题。
  3. 原理:利用 <script> 元素的开放策略,网页可以得到从其他来源动态获取的 JSON 数据,数据被包裹在一个JavaScript 函数中。

使用方法

第一步:在window下添加一个名为myFunction的函数

  window.myFunction = function(res){
console.log(res);
}

第二步:在html中插入script标签

<script type="text/javascript" id="jsonp" src="http://www.xxxx.com/getJsonp?callback=myFunction"></script>

注意事项

  1. 必须要先在window下添加处理函数myFunction才能插入script标签,否则会提示Uncaught ReferenceError: myFunction is not defined

  2. 前后端必须约定好函数名。目前w3c对于JSONP并未标准化,大多数情况大家是如此约定的:在获取数据的接口url中添加查询字符串,例如http://www.xxxx.com/getJsonp?callback=myFunction,服务端根据这个查询字符串返回一个一段用myFunction包裹的JSON,myFunction({"data":...})。

  3. 挂在window下的函数名应尽量特别一些。由于window下经常会添加各种属性,如果某个重要属性和JSONP返回的函数名相同,则原有的函数会被JSONP的函数覆盖,目前很多库都对这个函数名做了特殊处理,例如vue-resource会把JSONP返回函数命名为一个随机串。

最新文章

  1. .NET应用架构设计—服务端开发多线程使用小结(多线程使用常识)
  2. Ejabberd作为推送服务的优化手段
  3. RMI的概念
  4. HIT2739 The Chinese Postman Problem(最小费用最大流)
  5. Java操作SFTP
  6. 几个经常用到的字符串的截取(java)
  7. ###《More Effective C++》- 操作符
  8. c/c++中的各种字符串转换
  9. Ubuntu开机自动挂载Windows分区
  10. Hadoop基础
  11. codeforces#FF DIV2C题DZY Loves Sequences(DP)
  12. (转)Free函数的参数一定要是malloc返回的那个指针
  13. 动手学Javascript(1)——PopStar
  14. 分析器错误消息: 无法识别的属性“targetFramework”。
  15. 把要写的内容做个list,半年过去了
  16. javascript系列1--把字符串当代码来执行
  17. Java关于static的作用
  18. ReSharper2018破解详细方法
  19. python:数据库连接操作入门
  20. face detection[PyramidBox]

热门文章

  1. js 获取当前页url网址信息
  2. MB_SELECT_GR_BLOCKED_STOCK 读取物料收货冻结库存
  3. jquery方法简单记录
  4. 9.Libraries and visibility 库和可见性
  5. 20155318 《网络攻防》 Exp7 网络欺诈防范
  6. STM32---定时器的ETR功能
  7. HDU-6356 Glad You Came (线段树)
  8. 基于vue全家桶制作的移动端音乐WebApp
  9. Unity3d Transform.forward和Vector3.forward的区别!
  10. 【翻译】给初学者的 Neural Networks / 神经网络 介绍