跨域可用JSONP实现,下包在https://github.com/jaubourg/jquery-jsonp
要改两个地方:
1、客户端
<script type="text/javascript" src="3G/js/jquery.jsonp.js"></script>
<script type="text/javascript">
$.ajax({
type : "get",
async:false,
url :'http://localhost/car.php',
dataType : "jsonp",//数据类型为jsonp
jsonp: "jsonpCallback",//服务端用于接收callback调用的function名的参数
success : function(data){
alert("Result:"+data.msg)
},
error:function(){
alert('fail');
}
});
</script>
2、服务端
<?php
$jsonp = $_GET['jsonpCallback'];
echo $jsonp."({\"msg\":\"OK!!\"})";
?>
客户端吧jsonpCallback的值传过去,然后服务端接收,组成JSONP的格式返回。格式:xxx.("");
原理
1、JSONP有POST和GET
2、服务器很聪明地返回符合JS语法格式的串xxx.("");如:
callback({
"result"
:
"我是远程js带来的数据"
});
|