ajax get跨域 通过jsonp

背景:在写H5+APP的时候,需要数据库的数据,则使用ajax去与数据进行交互,但手机的IP和服务器的IP是不同的,所以涉及到了跨域的问题,查了很多资料,ajax的get请求可以通过jsonp来支持跨域,而post的跨域会比较复杂,暂时还不会

注意jsonp相对于json会对一层$callback

贴上代码

客户端:

<script type="text/javascript">
	$(function(){
	//	alert("ok!");
		$.ajax({
	    	url : 'http://1.sckandroid.sinaapp.com/Test/get_alluser',
	    	dataType : 'jsonp',
	    	type : 'get',
	    	success:function(data){
	    		len = data.length;
	    		for(i = 0 ; i < len ; i++){
		    		var str = "<tr><td>" + data[i]['id'] + "</td>";
		    		str += "<td>" + data[i]['username'] + "</td>";
		    		str += "<td>" + data[i]['password'] + "</td>";
		    		str += "<td>" + data[i]['nickname'] + "</td></tr>";
		    		$("#user").append(str);
	    		}
	    	},
			error:function(XMLHttpRequest, textStatus, errorThrown) {
				alert(XMLHttpRequest.status);
				alert(XMLHttpRequest.readyState);
				alert(textStatus);
			}
		});
		$("#btn").click(function(){
			$("#label").html("123456");
		});
	});
</script>
服务端:

public function get_alluser(){
		$user = M("user");
        $data = $user->select();
        $len = count($data);
        $resule = array();
        for($i = 0 ; $i < $len ; $i++){
    	$result[$i] = array('id' => $data[$i]['id'],'username' => $data[$i]['username'],'password' => $data[$i]['password'],'nickname' => $data[$i]['nickname']);
    }
    header('Content-type: application/json');
    //获取回调函数名
    $callback = $_REQUEST ['callback'];
    
    $json = json_encode($result);	
    echo $callback . "(" . $json . ")";
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值