JSONP+PHP,跨域回调

来源:互联网 发布:苹果app录音软件 编辑:程序博客网 时间:2024/06/12 06:41

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

3、JSONPJSON with Padding
0 0