简单介绍jsonp 使用小结

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;
?>

相关推荐