开发中的跨域问题
小于 1 分钟
开发中的跨域问题
- (CORS)使用
@CrossOrigen注解配置 - 响应报文中加入一个
Access-Control-Allow-Origin的header - (CORS)实现WebMVCConfigurer接口然后重写addCorsMapping方法解决跨域问题
- 前端使用代理服务器,如Node.js中使用http-proxy-middleware模块。
@Override
public void addCorsMappings(CorsRegistry registry) {
// 设置允许跨域的路径
registry.addMapping("/**")
// 设置允许跨域请求的域名
.allowedOrigins("http://localhost:8099")
// 是否允许证书不失效
.allowCredentials(true)
// 设置允许的方法
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
// 设置允许的头信息
.allowedHeaders("*")
// 预检请求有效期,单位为秒
.maxAge(3600);
}- JSONP:适用于GET请求。JSONP的基本思想是,服务器返回一个函数调用的字符串,而这个函数名是由客户端指定并传递给服务器的。由于
<script>标签不受同源策略的限制,所以可以用来加载跨域数据。
