如果是ajax请求,跨域的前提是在server端配置允许跨域的请求头,以node为例,需要配置以下选项:
// NOTE 真实的生产环境一定不要写*, 如果是*, 则浏览器端的withCredentials不能设置为true, 浏览器端的cookie就无法带到后端
//"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Origin": req.headers.origin,
// RESTFul方案在跨域使用时,服务端配置允许自定义的`Content-Type`值(通常为`application/json`),是推荐是最佳实战。
"Access-Control-Allow-Headers": "Content-Type,Content-Length,Authorization,Accept,X-Requested-With",
"Access-Control-Allow-Methods": "PUT,POST,GET,DELETE,PATCH",
"Access-Control-Allow-Credentials": true,
上面的代码来自natty-fetch的测试用例
当然,其他语言的server端都是同理。