SpringBoot 第三课——跨域请求

现在的很多开发模式是前后端分离的,所以前端页面和后端服务通常不在同一个域中,但是浏览器有一个安全策略,就是不允许跨域请求数据,为什么不允许,可以找相关文章学习。下面我们来解决我们的后端服务允许跨域请求。

本地桌面写一个页面crossdomain.html,通过ajax请求后端数据:


<!DOCTYPE html>
<html style="height: 100%; margin: 0">
<head>
<meta charset="utf-8">
<title>crossdomain</title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
</head>
<body >
   <div id = "data" ></div>
<script type="text/javascript">

//ajax请求数据
$.ajax({
    type:"get",
    url:"http:localhost:8080/getByCroDo",
    success:function(data){
       $("#data").text(data);
    },
    error:function(){
    	$("#data").text("数据请求失败");
    }
    });
   
</script>
</body>
</html>

 在后端,我们新创建一个方法:

@RequestMapping("/getByCroDo")
public String getCrossDomain() {
   return "response Cross Domain request..";
}

来试试用浏览器打开 crossdomain.html,结果如下:

前端页面和我们的后台服务不在一个域,安全策略导致数据请求失败。那怎么解决呢?很简单,一个注解搞定,如下:

    // 可以被跨域请求的方法
    // @CrossOrigin可以放在方法上,也可以放在类上
    @CrossOrigin(origins="*",allowCredentials="true")
    @RequestMapping("/getByCroDo")
    public String getCrossDomain() {
    	return "response Cross Domain request..";
    }

再来看看:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值