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 相关文章推荐
javascript window.opener的用法分析
Apr 07 Javascript
如何用JavaScript实现动态修改CSS样式表
May 20 Javascript
javascript 广告移动特效的实现代码
Jun 25 Javascript
JS焦点图,JS 多个页面放多个焦点图的实例
Dec 08 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
Jan 19 Javascript
JS中from 表单序列化提交的代码
Jan 20 Javascript
微信小程序开发背景图显示功能
Aug 08 Javascript
微信小程序时间轴实现方法示例
Jan 14 Javascript
vue添加class样式实例讲解
Feb 12 Javascript
微信小程序学习总结(五)常见问题实例小结
Jun 04 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
Jun 23 Javascript
JavaScript浅层克隆与深度克隆示例详解
Sep 01 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循环语句 for()与foreach()用法区别介绍
2012/09/05 PHP
深入理解php的MySQL连接类
2013/06/07 PHP
一些经常会用到的Javascript检测函数
2010/05/31 Javascript
6款新颖的jQuery和CSS3进度条插件推荐
2013/03/05 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
javascript显示用户停留时间的简单实例
2013/08/05 Javascript
jquery $(&quot;#variable&quot;) 循环改变variable的值示例
2014/02/23 Javascript
JavaScript中的this关键字使用方法总结
2015/03/13 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
那些精彩的JavaScript代码片段
2017/01/12 Javascript
JS验证字符串功能
2017/02/22 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
2017/12/28 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
python计算圆周长、面积、球体体积并画出圆
2014/04/08 Python
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2015/11/09 Python
python爬取哈尔滨天气信息
2018/07/14 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
python opencv将图片转为灰度图的方法示例
2019/07/31 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
2019/10/14 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
2020/01/10 Python
python global和nonlocal用法解析
2020/02/03 Python
python中可以声明变量类型吗
2020/06/18 Python
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
生物技术专业研究生自荐信
2013/09/22 职场文书
项目合作计划书
2014/01/09 职场文书
高中考试作弊检讨书
2014/01/14 职场文书
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
外贸业务员求职信
2014/06/16 职场文书
企业法人代表证明书
2014/09/27 职场文书
2014年机关党委工作总结
2014/12/11 职场文书
旷工检讨书1000字
2015/01/01 职场文书
大学生预备党员自我评价
2015/03/04 职场文书
辩论赛开场白大全(主持人+辩手)
2015/05/29 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书