-一. 跨域问题是目前开发过程中经常出现的一个问题了,通常情况下都是get请求出现的跨域,这个好说,让运维配置下ng就行,例如如下:

设置cors请求头,允许其他域名访问就行了。

这样处理通常解决大部分的跨域问题,但是某些情况下还是会有问题。

二. 如果请求是post请求,而且后台要接收的参数是json格式啊,还要支持跨域的话,光这样设置还是行不通的,如下: 请求发现method是OPTIONS ,返回的状态码是403

这是因为浏览器发出的复杂请求会预先发送options请求给服务器,服务器需要反馈一个成功的Response,但是咱们的服务器并没有对于这个复杂请求返回成功的状态码(200),

导致后续的post请求就不发送了。

上述请求中按理说:要发送的数据类型应该是这样的

对于这种情况,解决方式如下:

 方法一:后端对于在接口中设置允许通过OPTIONS验证,java代码如下:

  

   这儿大致意思为如果请求是OPTIONS,返回200状态码表示正常请求



   方法二:nginx层增加判断允许通过OPTIONS验证,nginx配置如下:

  

  这儿大致意思为,nginx接收到OPTIONS请求就直接返回200状态码表示正常请求