hello

ajax跨域请求 Uncaught SyntaxError: Unexpected token :

最近使用前后端分离开发项目比较多,经常碰到的一个问题就是,前端静态页面请求,后端api获取数据,很多时候,前端和后端都不是在同一个域下的(协议,域名,端口)。

这里使用的是ajax请求,因为浏览器的同源策略的限制,不允许跨域ajax跨域请求,直接请求是不行的,那就使用到jsonp,这是一个非官方跨域数据交互协议。

使用get请求

前端:

var _url = 'http://www.test1.com?callback=?';

$.getJSON(token_url+'&uid='+uid+'&token='+token,function(res){
      
       console.log(res);      
}    

后端:

$token = $_GET['token'];
$uid = $_GET['uid'];
$callback = $_GET['callback'];

$data = array('name'=>'haha','sex'=>'1');
$data = json_encode($data);

echo $callback."(".$data.')';

这样子,前端就可以跨域获得json格式的数据了

posted @ 2018-02-01 20:12  红尘练  阅读(497)  评论(0编辑  收藏  举报
你来了