跨域处理

浏览器跨域的问题:

  1. 跨域机制的目的是为了保证安全,
  2. 跨域的会发送一个OPTIONS预检请求,以保证双方协议达成一致
  3. 请求头配置参数:
  4. Access-Control-Allow-Origin: * // 设置允许来自哪个域的请求
  5. Access-Control-Expose-Headers: * // 告诉浏览器服务器返出的哪些头信息
  6. Access-Control-Max-Age: 86400 // 告诉浏览器跨域请求的有效时间,此处设置为24小时
  7. Access-Control-Allow-Credentials: true // 告诉浏览器是否允许浏览器读取response的内容
  8. Access-Control-Allow-Methods:"GET, POST, OPTIONS, DELETE, PUT,HEAD" // 允许使用的HTTP方法
  9. Access-Control-Allow-Headers: "Origin,Content-Length,Content-Type,X-Tenant-Type" // 允许携带的请求头,注意自定义请求头一定要配置,否则无法使用
  • 跨域常用解决方案

  • 常规跨域问题排查以及坑

    1. 首页确保后端服务接口是否可用
    2. 保证options请求返回的是204状态
    3. 其次检查请求响应的header配置是否正确
  • 总结

    1. 整体来说这个问题并不复杂,弄懂跨域配置及机制,确定坑在哪里,很轻松可以解决


评论 0

发表评论

Top