公司项目从前后端不分离转到前后端分离

首先遇到的问题就是前后端分离的时候跨域的问题

但是当跨域成功配置并且能访问成功的时候发现

每次客户端的请求都会发送两次

第一次是OPTIONS的请求,然后才是正常的请求

查阅资料得到的结论是:

第一个OPTIONS的请求是由Web服务器处理跨域访问引发的。

OPTIONS是一种“预检请求”,浏览器在处理跨域访问的请求时如果判断请求为复杂请求,则会先向服务器发送一条预检请求,根据服务器返回的内容浏览器判断服务器是否允许该请求访问。如果web服务器采用 CORS 的方式支持跨域访问,在处理复杂请求时这个预检请求是不可避免的。

一句话概括:因为我们公司的token通过header传递所以导致了浏览器判断该请求是复杂请求,所以要先通过OPTIONS请求进行预检查
解决方法
设置Access-Control-Max-Age(指定本次预检请求的有效期,单位秒)

nginx配置增加

location /wechat/ {
add_header ‘Access-Control-Max-Age’ 86400;
proxy_pass http://wechat/rest/;
}

最新文章

  1. SpringMVC与MyBatis整合(一)——查询人员列表
  2. Nginx设置Js、Css等静态文件的缓存过期时间
  3. Mybatis的mapper接口接受的参数类型
  4. MySQL基础 - 注意事项
  5. TCPdump抓包命令详解--摘
  6. iOS - OC Enum 枚举
  7. 图的割点 桥 双连通(byvoid)
  8. PPT插件 用js制作PPT
  9. build path--use as source folder 应用
  10. Java开发笔记(五十四)内部类和嵌套类
  11. 必须知道的Linux内核常识详解
  12. 从Scratch到Python——python turtle 一种比pygame更加简洁的实现
  13. Problem 2285 迷宫寻宝
  14. Mysqli面向对象操作数据库
  15. 12.10 Daily Scrum
  16. 并发之atomicInteger与CAS机制
  17. 绝对良心提供百度网盘的jdk1.8源码下载包含sun包的
  18. 项目复审——Beta阶段
  19. MySQL(ORM框架)
  20. Bootstrap简单应用——对首页进行重构

热门文章

  1. Memcached stats命令及核心参数
  2. 用户登录时,禁止chrome提示用户保存密码
  3. kafka连接报错kafka.errors.NoBrokersAvailable: NoBrokersAvailable
  4. Vue 开发技巧或者说Vue知识点梳理(转,自个学习)
  5. Linux利器之perf(火焰图)
  6. CentOS7.5下安装nginx --项目部署
  7. 2、1 昨天讲列表缓存,为了让列表更新,我们需要在增、删、改方法之前加 @CacheEvict(value="list",allEntries = true)
  8. clog就用clog的后缀名
  9. [转帖]Nginx服务器的六种负载均衡策略详解
  10. CAS 5.x搭建常见问题系列(2).PKIX path building failed