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; ?>
您可能感兴趣的文章:
- 关于JSON与JSONP简单总结
- json与jsonp知识小结(推荐)
- 浅析JSONP解决Ajax跨域访问问题的思路详解
- 深入浅析Jsonp解决ajax跨域问题
- Node.js返回JSONP详解
- 浅析json与jsonp区别及通过ajax获得json数据后格式的转换
- AJAX实现跨域的三种方法(代理,JSONP,XHR2)
- JSONP和批量操作功能的实现方法