跨域可用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带来的数据"
});
|