Angular JS 跨域

来源:互联网 发布:淘宝客服任职要求 编辑:程序博客网 时间:2024/05/17 15:17

$http get

这种跨域方式,是通过后台配置response来实现的。
前端:

$http.get("http://localhost:8080/hscloud/test/get").success(    function(data){                alert(data);    });

后台配置:

public boolean preHandle(HttpServletRequest request,            HttpServletResponse response, Object handler) throws  Exception {    String url = request.getRequestURI();    if(url.startsWith("/hscloud/test")){        response.setHeader("Access-Control-Allow-Origin", "*");        response.setHeader("Access-Control-Allow-Methods","GET,POST");        response.setHeader("Access-Control-Allow-Headers","X-Requested-With, Content-Type");    }    return true;}

$http post

注意:这里post实际是将参数放在header里面存储的,面前还没有找到将数据存放在body里面进行跨域请求的方法。后面找到会进行补充。
后台代码同上。
前端:

$http({    url:'http://localhost:8080/hscloud/test/post',    method:'POST',    params:{test:'ttttt'},    data:{ttt:'ttttttttttttttt'},    headers:{'Content-Type':'application/x-www-form-urlencoded'}}).success(function(data){    console.log(data);}).error(function(){});

JSONP 方式

这种方式目前只支持get请求

$http.jsonp("http://192.168.150.135:5000/v1/search?callback=JSON_CALLBACK").success(function(data){        console.log(JSON.stringify(data));    });
0 0
原创粉丝点击