最近正在写一个项目,本来暑假前已经用php写了一大部分,但是现在我打算改用java,又不想舍弃之前的,便打算采用前后端完全分离的方式来写。
本来以为这是很简单的一件事情,但是后来我发现,ajax默认拒绝跨域请求,会出现如下报错“No 'Access-Control-Allow-Origin' header is present on the requested resource”。百度一下这个错误,完全没有中文解决办法。然后猜想到可能是ajax跨域请求的问题,就百度ajax跨域,果然有很多解决办法。
这些解决办法中,很多人采用了前端使用jsonp来解决。但这有一个大缺点,就是前后端都要改很多东西,所以说,我找到了一个只要改后端的方法,前端还和原来一样就可以。分享给大家
response.addHeader("Access-Control-Origin-Allow","*");
这句话的意思是允许全域请求。如果你是一个学生个人项目,那这个问题就算解决了。但如果你是一个企业,自然不能允许全域请求这种危险的事情发生,所以你可以用自己的域名替换掉下面的*号,只有你添加的域名才能对你发起请求。这样才是一个最安全的做法。