Jsonp 解决Ajax跨域请求 php
发表时间: 2016-02-02 11:46:42 | 浏览次数:
大家都知道Ajax是不能进行跨域请求的,那么我们可以使用Jsonp来Ajax跨域请求代码如下:
前端:
$(document).ready(function(){ $.ajax({ type : "get", async:false, url : "http://192.168.1.168/jsonp/jsonp.php", data: {name:"LiuR_Fun", age:16}, dataType : "jsonp", jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名 jsonpCallback:"successCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名 success : function(data){ alert(data[0].name); alert(data[0].age); }, error:function(){ alert('fail'); } }); //简易写法 $.getJSON("http://192.168.1.168/jsonp/jsonp.php?callback=?", { name:"Fun", age:18 }, function(data){ alert(data[0].name); alert(data[0].age); }); });
程序代码:
header('Content-type: application/json'); //获取回调函数名 $jsonCallback = htmlspecialchars($_REQUEST['callback']); //json数据 $json_data = '[{name:"'.$_REQUEST['name'].'",age:'.$_REQUEST['age'].'}]'; //输出jsonp格式的数据 echo $jsonCallback . "(" . $json_data . ")";
上一篇:使用“阿里大鱼”发送短信验证码
下一篇:php 电脑端与手机端网页实现第三方微信登录