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 写的一个简单的timer
Jul 30 Javascript
一个封装js代码-----展开收起效果示例
Jul 03 Javascript
JQUERY 获取IFrame中对象及获取其父窗口中对象示例
Aug 19 Javascript
Javascript中的方法链(Method Chaining)介绍
Mar 15 Javascript
jQuery实现购物车表单自动结算效果实例
Aug 10 Javascript
用JS实现图片轮播效果代码(一)
Jun 26 Javascript
H5移动端图片压缩上传开发流程
Nov 09 Javascript
jQuery的事件预绑定
Dec 05 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
Oct 30 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
Mar 31 Javascript
微信小程序实现点击生成随机验证码
Sep 09 Javascript
vue使用swiper实现左右滑动切换图片
Oct 16 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
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
基于php设计模式中单例模式的应用分析
2013/05/15 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
Redis在Laravel项目中的应用实例详解
2017/08/11 PHP
jQuery的slideToggle方法实例
2013/05/07 Javascript
jquery动态改变onclick属性导致失效的问题解决方法
2013/12/04 Javascript
javascript引用赋值(地址传值)用法实例
2015/01/13 Javascript
JavaScript之AOP编程实例
2015/07/17 Javascript
AngularJs页面筛选标签小功能
2016/08/01 Javascript
JavaScript判断数组是否存在key的简单实例
2016/08/03 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
js H5 canvas投篮小游戏
2016/08/18 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
纯js和css完成贪吃蛇小游戏demo
2016/09/01 Javascript
js实现鼠标拖动功能
2017/03/20 Javascript
浅谈React高阶组件
2018/03/28 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
详解在create-react-app使用less与antd按需加载
2018/12/06 Javascript
ES6中Symbol、Set和Map用法详解
2019/08/20 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
在Django中创建URLconf相关的通用视图的方法
2015/07/20 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
2019/04/01 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
jupyter修改文件名方式(TensorFlow)
2020/04/21 Python
美国网上书店:Barnes & Noble
2018/08/15 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
领导的自我鉴定
2013/12/28 职场文书
护理专业毕业生自荐书
2014/05/24 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
奖学金个人总结
2015/03/04 职场文书
党员违纪检讨书
2015/05/05 职场文书
校运会加油稿大全
2015/07/22 职场文书
党员心得体会范文2016
2016/01/23 职场文书