express支持跨域中间件
- ajax请求必须配置
withCredentials
的值为true
,否则请求是不会带凭据的(cookie、HTTP认证及客户端SSL证明等) - 服务端接收带凭据的请求必须设置响应头属性
Access-Control-Allow-Credentials
为true
否则浏览器不会把响应交给js(即responseText为空,status的值为0,而且会调用onerror()事件处理程序) - 当设置了
withCredentials
的值为true
时服务端的Access-Control-Allow-Origin
的属性不能为*
,如有需要,需单独设置对应的响应头如req.headers.origin
- IE10及更早版本都不支持
withCredentials
使用XDomainRequest
1 | setCORS() { |