版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/github_39286601/article/details/89788254
spring boot 跨域请求
CORS支持
跨源资源共享 (CORS)是大多数浏览器实现 的W3C规范,允许您以灵活的方式指定授权何种跨域请求,而不是使用一些安全性较低且功能较弱的方法,如IFRAME或JSONP。
从版本4.2开始,Spring MVC 支持CORS。 可以通过使用自定义方法注册bean 来定义全局CORS配置,如以下示例所示:WebMvcConfigureraddCorsMappings(CorsRegistry)
@Configuration
公共 类 MyConfiguration {
@Bean
public WebMvcConfigurer corsConfigurer(){
return new WebMvcConfigurer(){
@
Override public void addCorsMappings(CorsRegistry registry){
registry.addMapping(“/ api / **”);
}
};
}
}
在Spring Boot应用程序中使用带有 注释的控制器方法CORS配置@CrossOrigin不需要任何特定配置。例如
@Controller
@CrossOrigin
public class HelloController {
@Autowired
JdbcTemplate jdbcTemplate;
@ResponseBody
@GetMapping("/query")
public Map<String,Object> map(){
List<Map<String, Object>> list = jdbcTemplate.queryForList("select * FROM canal");
return list.get(0);
}
ajax请求
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<title>Page Index</title>
</head>
<body>
<h2>跨域请求</h2>
<p id="info"></p>
</body>
<script src="jquery.min.js"></script>
<script>
$.ajax({
url: "http://localhost:8080/query",
type: "get",
dataType: "json",
success: function (data) {
$("#info").html("跨域访问成功:"+data);
},
error: function (data) {
$("#info").html("跨域失败!!");
}
})
</script>
</html>
结果