(1)ajax+java(CORS)
$.ajax({
type: "post",
url: "Get",
crossDomain: true, //加这二行支持ajax跨域,允许跨域
xhrFields: {withCredentials: true},//加这二行支持ajax跨域,携带凭证
success: function (data) {}
});
//允许的请求源,不要设置为*,如果为*,浏览器将不携带cookie
response.setHeader("Access-Control-Allow-Origin",request.getHeader("Origin"));
//是否允许请求携带认证信息,如cookie
response.setHeader("Access-Control-Allow-Credentials","true");
//允许方法的请求类型
response.setHeader("Access-Control-Allow-Methods","POST, GET, OPTIONS, DELETE, PUT, PATCH");
//请求结果的缓存时间
response.setHeader("Access-Control-Max-Age","3600");
//允许的请求头字段
response.setHeader("Access-Control-Allow-Headers","x-requested-with, content-type");
(2)nignx代理跨域
server {
listen: 8085;
serve_name localhost;
charset utf-8;
location ~* \.(do)$ { // 拦截.do结尾的请求
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_forwarded_for;
proxy_pass http://localhost:8080;
}
}
}
本文介绍了解决跨域问题的两种方法:使用AJAX+CORS实现跨域请求,并配置响应头来控制跨域行为;通过Nginx代理设置,实现跨域请求的拦截与转发。这些方法确保了不同域名间的安全数据交互。
5万+

被折叠的 条评论
为什么被折叠?



