实现符合 HTTP access control (CORS) 规范的跨域请求配置

其中 crossDomain: true 属性,可禁止添加 X-Requested-With: XMLHttpRequest 自定义请求头。默认情况下,对于非跨域请求会添加,对于跨域请求不添加。
其中 withCredentials: true 属性,可控制 XMLHttpRequest 对象,携带 other.domain 域下的凭证信息(如 Cookie 等)。
对于简单请求,会直接发送指定类型的请求。对于预请求,会先发出一个 OPTIONS 请求,得到成功回应后才发送指定类型的请求。

根据前端提供的请求头,后端返回对应的响应头。对于 OPTIONS 请求,注意不要执行业务代码。
对于前端未授权的同步(如访问 html 页面)请求,后端可直接 302 跳转至登录页。对于前端未授权的异步(如 json 接口)请求,后端应仍然输出 json 结构响应,可在该结构中定义代表需要登录的状态码。
对于异步请求的检查,建议使用请求后缀(如 json 后缀)检查。不建议使用请求头(如 X-Requested-With 自定义头)检查,因为对于预请求,是不会携带该自定义头的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注