JSONP之我见


Posted in Javascript onMarch 24, 2015

JavaScript初学,一点自己的理解,有不当之处请大家指正~

JSONP:

本地html文件要获取xxx网站(跨域)数据时使用的方法。

跨域问题:

外部服务器的数据只能用外部服务器中的js访问,本地js无法用XMLHttpRequest()访问。

外部服务器中的Web服务提供JSON数据,比如在http://gumball.wickedlysmart.com/中,数据包含在函数updateSales中作为参数,现在要在本地html中访问外部服务器中的JSON数据该怎么办呢?

1, 查看Web服务文档,明确服务实际使用的参数名(本例只有一个参数即一个对象数组);
2, 在url中指定一个回调函数,http://gumball.wickedlysmart.com/?callback=updateSales,用来指定Web服务中访问JSON数据的函数名;
3, 在本地js文件中使用刚才定义的函数名创建函数updateSales(对象),编写处理得到外部JSON数据的方法;
4, 在html文件中的<body>标签下使用<script>标签链接到外部Web服务,url为2中的那个路径。

总结:

JSONP目的在于提供给本地html一个函数接口(本地html可通过在url后方加入?callback=functionName的方法指定函数名),为了确保数据访问的安全,服务器将安全的数据放在回调函数的参数中,函数内部的参数就是服务器提供给本地的数据,至于怎么使用这些数据就要在本地的js中定义这个callback函数了。

注意:本地使用JSONP请求访问Web服务,可能会获取不安全的Js代码,所以要确保信任这个Web服务。

JSONP与XMLHttpRequest:

         XMLHttpRequest用于开发内部Web服务,内部访问内部,同域访问会更加简便。

         访问外部数据时(跨域访问)就要使用JSONP。

以上所述就是本文的全部内容了,希望大家能够喜欢,能够对大家学习jsonp有所帮助。

Javascript 相关文章推荐
jQuery 第二课 操作包装集元素代码
Mar 14 Javascript
jQuery实现用户注册的表单验证示例
Aug 28 Javascript
jQuery toggleClass应用实例(附效果图)
Apr 06 Javascript
Javascript基础教程之argument 详解
Jan 18 Javascript
详解JavaScript中的异常处理方法
Jun 16 Javascript
javascript实现简单的分页特效
Aug 12 Javascript
JavaScript数组操作函数汇总
Aug 05 Javascript
基于vuejs+webpack的日期选择插件
May 21 Javascript
ES6新特性之变量和字符串用法示例
Apr 01 Javascript
5分钟学会Vue动画效果(小结)
Jul 21 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
Jun 04 Javascript
Vue实现购物小球抛物线的方法实例
Nov 22 Vue.js
JavaScript将数字转换成大写中文的方法
Mar 23 #Javascript
自定义jQuery插件方式实现强制对象重绘的方法
Mar 23 #Javascript
jQuery定义背景动态切换效果的方法
Mar 23 #Javascript
javascript实现客户端兼容各浏览器创建csv并下载的方法
Mar 23 #Javascript
jQuery实现拖拽效果插件的方法
Mar 23 #Javascript
jQuery操作表单常用控件方法小结
Mar 23 #Javascript
JavaScript自定义等待wait函数实例分析
Mar 23 #Javascript
You might like
提升PHP执行速度全攻略(上)
2006/10/09 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
PHPExcel笔记, mpdf导出
2016/05/03 PHP
mysql查找删除重复数据并只保留一条实例详解
2016/09/24 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
从零开始学习jQuery (二) 万能的选择器
2010/10/01 Javascript
25个非常棒的jQuery滑块插件和教程小结
2011/09/02 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
2013/03/29 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
2013/04/16 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
2017/04/01 jQuery
基于JavaScript实现报警器提示音效果
2017/10/27 Javascript
React中使用async validator进行表单验证的实例代码
2018/08/17 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
详解Python 数据库 (sqlite3)应用
2016/12/07 Python
flask框架路由常用定义方式总结
2019/07/23 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
对于没有初始化的变量的初始值可以作怎样的假定
2014/10/12 面试题
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
大学应届生的自我评价
2014/03/06 职场文书
村居抓节水倡议书
2014/05/19 职场文书
工会换届选举方案
2014/05/21 职场文书
保险公司开门红口号
2014/06/21 职场文书
人力资源管理毕业求职信
2014/08/05 职场文书
五好家庭申报材料
2014/12/20 职场文书
工作检讨书范文
2015/01/23 职场文书
复兴之路观后感
2015/06/02 职场文书
如何才能写好调研报告?
2019/07/03 职场文书
python 实现德洛内三角剖分的操作
2021/04/22 Python
Consul在linux环境的集群部署
2022/04/08 Servers