springboot 浏览器跨域测试方法

所谓同源是指,域名,协议,端口均相同

后端应用了 RESTful 风格的开发方式,因为需要所有 Web API 都需要支持跨源资源共享(CORS),所以需要进行全局设置。

首先跨域问题的测试方法为ajax请求

浏览器报错信息为:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#b01").click(function(){
  htmlobj=$.ajax({url:"http://localhost:8090/bpcountlimit/getcommitmentnumberlist?pagenum=1&pagesize=2",async:false});
  $("#myDiv").html(htmlobj.responseText);
  });
});
</script>
</head>
<body>

<div id="myDiv"><h2>通过 AJAX 改变文本</h2></div>
<button id="b01" type="button">改变内容</button>

</body>
</html>

一、解决方法  @CrossOrigin  可以加载类上  也可以加载方法上 不是最优的方法 改进一下

@CrossOrigin
public class BPCountLimitController {

    @Autowired
    private BPCountLimitService bpCountLimitService;


    @PostMapping("insertbpcountlimit")
    @ApiOperation(value = "添加经销商承诺量",notes = "添加经销商承诺量")
    public ResultVO insertBPCountLimit(@RequestBody BPCountLimit bpCountLimit){

        bpCountLimitService.insertBPCountLimit(bpCountLimit);

        return ResultVOUtil.success("success");
    }
} 

二、配置文件  全局加 现在是重写了addCorsMappings    corsFilter能影响全局 而 addCorsMappings 不能影响全局

@Configuration  
public class CorsConfig extends WebMvcConfigurerAdapter {  

    @Override  
    public void addCorsMappings(CorsRegistry registry) {  
        registry.addMapping("/**")  
                .allowedOrigins("*")  
                .allowCredentials(true)  
                .allowedMethods("GET", "POST", "DELETE", "PUT")  
                .maxAge(3600);  
    }  

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

javafanwk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值