【10 16】浏览器跨域 - achievec/achievec.github.io GitHub Wiki

前端

  • xhrFields添加{withCredentials:true}标识浏览器能够接受后台的Set-Cookie请求,在请求同域的时候浏览器可以带上该域的cookie
  • crossDomain:true参数好像在跨域时不是必须的
  • Access-Control-Allow-Headers 控制客户端可以发送的额外头部信息,多个值使用逗号分隔
  • Access-Control-Allow-Methods控制客户端可以发送的请求方法(如:POST),多个值使用逗号分隔

后端

  • 添加Access-Control-ALLOW-Credentials的header,值为true,表示后端服务器允许在跨域中使用cookie,浏览器允许解析响应体
  • 添加Access-Control-Allow-Origin的地址为请求的host,即Originheader,当该值设为*是,浏览器不接受会抛错