问题:
在springboot中配置了全局cors无效
这是cors配置类
@Configuration
public class CorsConfig {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**");
}
};
}
}
下面是controller
@RestController
public class Demo {
@RequestMapping("/hello")
public ResponseEntity hello(@RequestParam String hello) {
return ResponseEntity.ok(hello);
}
}
下面是webstorm中测试的ajax请求:
function aa() {
$.post('localhost:8080/hello', { hello: 'dd' }, function (data) {
console.log(data)
})
}
每次刷新页面执行这个方法,不管sprigboot怎么配置都会提示跨域问题
下面是跨域:
求解惑 这是为什么。根据springboot官网的cors的配置但是没用。
谢邀!
首先,题主贴出的错误提示是这样的:
很明显,这仅是提示你
protocol
错误而已,请用http://
开头的路径(protocol采用http协议)-因为你这个看起来像是http协议头没有被补齐。请注意,题主你测试的路径是
localhost:8080/hello
,可以换成http://localhost:8080/hello
试试。另外,虽然我已经很久没有写Java后台了,也没用过springboot,但是我以前整理过其它类型的跨域配置(如spring mvc框架的),参考:
ajax跨域,这应该是最全的解决方案了
最后,CORS只是一个跨域资源共享方案而已,正常来说,按照上面的文档配置,应该就行了。
补充一句,springboot的配置看起来和上文中的
Node-express后台配置
很像。可以自行对比对比。