ajax 跨域问题 new

方法一:

前台页面js代码:

$.getJSON('http://www.h5clubs.com/rec.php?c=abc&callback=?',
        jsondata,
        function (data) {
          console.log(data);
        }
      );

或者用ajax

$.ajax({
        type: 'GET',//只能是get方式
        url: 'http://www.h5clubs.com/rec.php',
        data: {
          c: 'rec'
        },
        dataType: 'JSONP',
        jsonp: 'callback', //服务器端获取回调函数名的key,对应后台有$_GET['callback']='getName';callback是默认值
        jsonpCallback: 'getName', //回调函数名, jsonp与 jsonpCallback 可以省略,jsonpCallback如果不写 刚为jquery默认添加的一个值
        success: function (data) { //成功执行处理,对应后台返回的getName(data)方法。
          console.log(data);
          console.log(data.flag);
        }
      });

 

 

后台php代码 :

$c = $_GET['c'];
  $str = array(c=>$c, flag=>'success');
  $str2 = array(c=>$c, flag=>'fail');

  if($c){
    //echo json_encode($str);
    echo $_GET['callback']."(".json_encode($str).")"; 
    //等价:echo 'getName('.json_encode($str).')';
  }else{
    //echo json_encode($str2);
  }

方法二:

前台代码:

$.ajax({
          type: 'post',//post,get都可以
          url: 'http://www.h5clubs.com/rec.php',
          data: {c:'rec'},
          dataType: 'json',
          success: function(data){
            console.log(typeof data);
            console.log(data.flag);
          }
        });

后台php代码:

header("Access-Control-Allow-Origin: *");
$c = $_GET['c'];
$str = array(c=>$c, flag=>'success');
$str2 = array(c=>$c, flag=>'fail');

if($c){
     echo json_encode($str);
 }else{
    echo json_encode($str2);
 }

 

posted @ 2015-06-10 14:44  雷林007  阅读(119)  评论(0编辑  收藏  举报