ajax get跨域 通过jsonp

来源:互联网 发布:桃源网络硬盘破解 编辑:程序博客网 时间:2024/06/04 18:57

背景:在写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
原创粉丝点击