简单介绍jsonp 使用小结


Posted in Javascript onJanuary 27, 2016

Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据。

为什么我们从不同的域(网站)访问数据需要一个特殊的技术(JSONP )呢?这是因为同源策略。

同源策略,它是由Netscape提出的一个著名的安全策略,现在所有支持JavaScript 的浏览器都会使用这个策略。

首先:jsonp是json用来跨域的一个东西。

原理是通过script标签的跨域特性来绕过同源策略。

经过测试实验:

发送端:

$.ajax({
type : "post",
url : "ajax.php",
dataType : "jsonp",
jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
jsonpCallback:"jsonpcallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
success : function(json){
alert('success');
},
error:function(){
alert('fail');
}
});

服务器端(php):

<?php
$data = "aaa";
$callback = $_GET['callback'];
echo $callback.'('.json_encode($data).')';
exit;
?>
Javascript 相关文章推荐
Javascript 的addEventListener()及attachEvent()区别分析
May 21 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
Mar 24 Javascript
禁止js文件缓存的代码
Apr 09 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
Feb 03 Javascript
js设置组合快捷键/tabindex功能的方法
Nov 21 Javascript
JS制作简单的三级联动
Mar 18 Javascript
jquery实现九宫格大转盘抽奖
Nov 13 Javascript
详解Bootstrap各式各样的按钮(推荐)
Dec 13 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
Jun 13 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
Sep 01 Javascript
vue:el-input输入时限制输入的类型操作
Aug 05 Javascript
原生Js 实现的简单无缝滚动轮播图的示例代码
May 10 Javascript
理解javascript异步编程
Jan 27 #Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
Jan 27 #Javascript
AngularJS转换响应内容
Jan 27 #Javascript
jQuery+css实现的切换图片功能代码
Jan 27 #Javascript
javascript中的3种继承实现方法
Jan 27 #Javascript
jQuery+css实现的换页标签栏效果
Jan 27 #Javascript
js实现的彩色方块飞舞奇幻效果
Jan 27 #Javascript
You might like
php密码生成类实例
2014/09/24 PHP
使用PHP实现微信摇一摇周边红包
2016/01/04 PHP
php微信公众号开发之校园图书馆
2018/10/20 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
jQuery 隐藏和显示 input 默认值示例
2014/06/03 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
删除javascript中注释语句的正则表达式
2014/06/11 Javascript
jquery中object对象循环遍历的方法
2015/12/18 Javascript
jQuery动态修改字体大小的方法【测试可用】
2016/09/09 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
微信小程序开发一键登录 获取session_key和openid实例
2016/11/23 Javascript
js实现年月日表单三级联动
2020/04/17 Javascript
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
2017/07/17 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
2017/11/03 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
微信小程序实现上拉加载功能
2019/11/20 Javascript
在服务器端实现无间断部署Python应用的教程
2015/04/16 Python
Python切片知识解析
2016/03/06 Python
Python变量和字符串详解
2017/04/29 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
django celery redis使用具体实践
2019/04/08 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
复古风格的女装和装饰品:ModCloth
2017/12/29 全球购物
Bulk Powders意大利:运动补充在线商店
2019/02/09 全球购物
日本最大美瞳直送网:Morecontact(中文)
2019/04/03 全球购物
波兰在线儿童和婴儿用品零售商:pinkorblue
2019/06/29 全球购物
英国领先的在线鱼贩:The Fish Society
2020/08/12 全球购物
优秀教师的感人事迹
2014/02/04 职场文书
党校学习自我鉴定
2014/02/24 职场文书
普通党员整改措施
2014/10/24 职场文书
pandas中DataFrame数据合并连接(merge、join、concat)
2021/05/30 Python
JavaScript实现简单的音乐播放器
2022/08/14 Javascript