您的位置:首页 > 其它

ajax 跨域问题 new

2015-06-10 14:44 405 查看
方法一:

前台页面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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: