笔者在浏览器跨域方法与基于 Fetch 的 Web 请求最佳实践一文中介绍了浏览器跨域的基本知识与 Fetch 的基本使用,在这里要提醒两个前文未提到的点,一个是根据附带凭证信息的请求这里描述的,当你为了配置在 CORS 请求中附带 Cookie 等信息时,来自于服务器的响应中的 Access-Control-Allow-Origin 不可以再被设置为 * ,必须设置为某个具体的域名, 则响应会失败。另一个就是因为 Fetch 中不自带 Cancelable 与超时放弃功能,往往需要在代理层完成。笔者在自己的工作中还遇到另一个请求,就是需要在客户端抓取其他没有设置 CORS 响应或者 JSONP 响应的站点,而必须要进行中间代理层抓取。笔者为了尽可能小地影响逻辑层代码,因此在自己的封装中封装了如下方法: