1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP使用ajax跨域获取json数据的两种方法

作者:用户 来源:互联网 时间:2017-12-01 20:50:10

ajaxphpjson数据方法使用获取

PHP使用ajax跨域获取json数据的两种方法 - 摘要: 本文讲的是PHP使用ajax跨域获取json数据的两种方法, 一.采用JSONP跨域获取数据。(优点:兼容大部分浏览器包括IE6。缺点:获取数据以Get获取较不安全) 前端JS代码:$.ajax({"url":"http://www.liubf.com/Bang/post_jsonp.php","


一.采用JSONP跨域获取数据。(优点:兼容大部分浏览器包括IE6。缺点:获取数据以Get获取较不安全)

前端JS代码:

$.ajax({
"url":"http://www.liubf.com/Bang/post_jsonp.php",
"type":"GET",
"dataType":"JSONP",
"data":{
"loginuser":$("input[name=loginuser]").val(),
"loginpass":$("input[name=loginpass]").val()
},
"success":function(response,status,xhr){
for(variinresponse){
alert(i+"---"+response[i]);
}
},
"error":function(xhr,errorText,errorStatus){
alert("ajax访问错误:"+xhr.status+""+xhr.statusText);
}
});

服务器代码:

$arr=array("user"=>$_GET['loginuser'],"pass"=>$_GET['loginpass'],"c"=>130);
$_result=json_encode($arr);
$callback=$_GET['callback'];
echo$callback."($_result)";

二.采用CORS(跨域源资源共享)获取数据。(优点:以POST数据加密方式获取,较安全。缺点:不兼容IE9及IE9以下浏览器)

前端代码:

$.ajax({
"url":"http://www.liubf.com/Bang/post_jsonp.php",
"type":"POST",
"dataType":"JSON",
"data":{
"loginuser":$("input[name=loginuser]").val(),
"loginpass":$("input[name=loginpass]").val()
},
"success":function(response,status,xhr){
for(variinresponse){
alert(i+"---"+response[i]);
}
},
"error":function(xhr,errorText,errorStatus){
alert("ajax访问错误:"+xhr.status+""+xhr.statusText);
}
});

服务器端代码:

header("Access-Control-Allow-Origin:*");//*号可以修改限制为IP
$arr=array("user"=>$_POST['loginuser'],"pass"=>$_POST['loginpass'],"c"=>130);
$_result=json_encode($arr);
echo$_result;

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索ajax , php , json , 数据 , 方法 , 使用 获取 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备