spring + vue-resource 跨域问题解决
SpringBoot + vue-resource
后端是springboot,前端使用vue-resource发起请求。
SpringBoot
这里提供两种方式:
1)后端通过@Configuration配置允许跨域
@Configuration
public class CorsConfig extends WebMvcConfigurerAdapter {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET", "POST", "DELETE", "PUT");
}
}
2)通过@CrossOrigin配置跨域访问
@CrossOrigin(origins = "http://127.0.0.1:8090")
@RequestMapping("/vue")
public JSONObject vue() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("statusText", "OK");
return jsonObject;
}
vue-resource
前端使用vue-resource发送get或post请求
methods: {
get() {
this.$http.get('http://127.0.0.1:8080//vue', {}, { emulateJSON: true }).then(result => {
console.log(result)
})
},
post() {
this.$http.post('http://127.0.0.1:8080/vue', {}, { emulateJSON: true }).then(result => {
console.log(result)
})
}