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中文入门指南,翻译加实例,jQuery的起点教程
Feb 09 Javascript
js实现特定位取反原理及示例
Jun 30 Javascript
Javascript解析URL方法详解
Dec 05 Javascript
使用百度地图api实现根据地址查询经纬度
Dec 11 Javascript
jQuery中:eq()选择器用法实例
Dec 29 Javascript
使用js画图之圆、弧、扇形
Jan 12 Javascript
js针对ip地址、子网掩码、网关的逻辑性判断
Jan 06 Javascript
开启BootStrap学习之旅
May 04 Javascript
JavaScript中捕获与冒泡详解及实例
Feb 03 Javascript
angularjs数组判断是否含有某个元素的实例
Feb 27 Javascript
jQuery使用each遍历循环的方法
Sep 19 jQuery
Vue配置marked链接添加target=&quot;_blank&quot;的方法
Jul 19 Javascript
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代码把全角数字转为半角数字
2007/12/10 PHP
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
php实现的微信红包算法分析(非官方)
2015/09/25 PHP
phpstudy2020搭建站点的实现示例
2020/10/30 PHP
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
IE、FF浏览器下修改标签透明度
2014/01/28 Javascript
jQuery+Ajax实现无刷新操作
2016/01/04 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
2016/03/28 Javascript
mvc中form表单提交的三种方式(推荐)
2016/08/10 Javascript
jquery弹出框插件jquery.ui.dialog用法分析
2016/08/20 Javascript
利用angularjs1.4制作的简易滑动门效果
2017/02/28 Javascript
js实现瀑布流效果(自动生成新的内容)
2017/03/16 Javascript
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
Node.js系列之连接DB的方法(3)
2019/08/30 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
全面理解Python中self的用法
2016/06/04 Python
Python中的TCP socket写法示例
2018/05/11 Python
python中的decorator的作用详解
2018/07/26 Python
Python构建图像分类识别器的方法
2019/01/12 Python
python中sklearn的pipeline模块实例详解
2020/05/21 Python
Python绘制组合图的示例
2020/09/18 Python
Python自动化xpath实现自动抢票抢货
2020/09/19 Python
Python中用xlwt制作表格实例讲解
2020/11/05 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
2018/01/03 HTML / CSS
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
微笑服务演讲稿
2014/05/13 职场文书
求职信怎么写
2014/05/23 职场文书
个性车贴标语
2014/06/24 职场文书
十佳少先队员演讲稿
2014/09/12 职场文书
创新社会管理心得体会
2014/09/12 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
护士求职自荐信范文
2015/03/04 职场文书