第一次写博客,也是意识到了作为一名菜鸟,在不断的学习过程中,需要博客能更好的巩固自己所学的知识,也可以锻炼自己的文字表达能力。希望在今后的日子里面,自己能多写博客,将自己学习过程中遇到的难题解决的方法记录下来,一步步成为大神。
CORS简介:
Cross-Origin Resource Sharing (CORS)即为跨域资源共享,是W3C的一个标准,用来解决是不同源,如Chrome浏览器向服务器请求资源时所遇到的阻碍。(传统AJAX请求只能在同源上请求资源),从而CORS被定义出来。
问题的产生:
当笔者尝试在使用前后端分离技术来写一个小项目时所遇到cors跨域问题。
如图,准备在前端使用ajax请求来获取后端部门员工信息。
却发现未能如愿得到数据,用调试台调试后发现
正是因为前后端所在的是不同的域,所以ajax请求不能获取。
此时后端Controller的类为:
解决办法:
因为控制台提示No 'Access-Control-Allow-Origin' header,所以只需要在后端的请求头上加上该请求即可,
response.setHeader("Access-Control-Allow-Origin", "*");
setHeader方法带有两个参数,前面那个协商允许跨域,后面那个参数为请求的url地址,如果想让所有地址的请求都能通过这个controller的话,就写上*,否则填上你想写的url地址即可。
问题解决。
在SPINGMVC中也可以通过注解的方式来解决跨域问题,