为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
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 (var i  in response){

             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 (var i  in response){

             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;

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消