python前后端分离跨域请求_前后端分离跨域问题解决方案

利用SpringMVC @CrossOrigin注解

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

//@CrossOrigin(value = "*", allowCredentials = "true")

public class BaseController {

protected Logger log = LoggerFactory.getLogger(this.getClass());

}

CrossOrigin这个注解可以允许ajax跨域请求....但是有个很明显的缺点就是ajax会请求2次,第一次请求类型是options.查看是不是允许发起跨域请求.然后才会发起get呀post呀这样的请求...这就很蛋疼了.相当于需要花费额外的时间再请求上.毕竟请求次数翻倍了.

另外如果要传输cookies的话似乎需要额外设置

allowCredentials = "true"

具体我也没试过.因为那个时候我用另外一种方法去解决了,不过看api文档上是说设置成true就可以解决了..

这种方式除了请求次数变多以外,我感觉还有1个主要问题就是你得设置你允许哪些站点跨域访问你..你为了开发方便设置成*...那么实际上了生产..别人哪个域名都可以给你发跨域请求..这就很尴尬了..而且注解是写在代码里的.你很难在生产和开发中分别设置不同的值.

你可能感兴趣的:(python前后端分离跨域请求)