用IDEA编写了后端登录注册代码并部署到tomcat8080,然后用vscode用Ajax发起get请求登录和注册,发现浏览器network报Access-Control-Allow-Origin。
解决:设置响应头response.setHeader
//跨域:跨域访问,简单来说就是 A 网站的 javascript 代码试图访问 B 网站,包括提交内容和获取内容。由于安全原因,跨域访问是被各大浏览器所默认禁止的,XmlHttpRequest也不例外。
//解决浏览器跨域访问限制
response.setHeader("Access-Control-Allow-Origin", "*"); // 这里最好明确的写允许的域名,否则就是允许所有外来的跨越请求
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Content-Type,Access-Token,Authorization,ybg");
==================================================================
原因:
没错,就是Access-Control-Allow-Origin,跨域 - 简书1、浏览器的同源安全策略 没错,就是这家伙干的,浏览器只允许请求当前域的资源,而对其他域的资源表示不信任。那怎么才算跨域呢? 请求协议http,https的不同 域domai...https://www.jianshu.com/p/89a377c52b48跨域资源共享 CORS 详解 - 阮一峰的网络日志http://www.ruanyifeng.com/blog/2016/04/cors.html