superagent documentation包含有关CORS的条目:
出于安全原因,除非服务器选择使用CORS标头,否则浏览器将阻止跨源请求。浏览器还会发出额外的OPTIONS请求,以检查服务器允许的HTTP标头和方法。阅读更多关于CORS的信息。
.withCredentials()方法可以从源发送cookie,但只有当Access-Control-Allow-Origin不是通配符(" *")和Access-Control-时Allow-Credentials是" true"。
但是,它没有解释哪个服务器需要实现CORS。
有两个服务器(我认为)可以参考:
哪个服务器必须实现CORS?
答案 0 :(得分:1)
交付的JavaScript发出请求的API /资源服务器是需要启用CORS支持的服务器 - 假设服务器运行的原点不同于发出请求的前端JavaScript代码的来源。 / p>
将HTML和JavaScript发送到浏览器的服务器不需要启用CORS - 假设你的意思是服务器是发出请求的前端代码的来源。
Web服务器不需要启用CORS的原因是您没有向该服务器发出任何跨源请求。相反,它只是提供您的前端JavaScript代码。
但是您的前端JavaScript代码发出请求的其他任何来源的服务器必须启用CORS - 否则您的浏览器将阻止您的前端JavaScript代码访问其他服务器发送的任何响应的响应正文和响应头。
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS有更多详情。