仅使用 javascript 的 CORS

Posted

技术标签:

【中文标题】仅使用 javascript 的 CORS【英文标题】:CORS with only javascript 【发布时间】:2019-09-17 00:18:14 【问题描述】:

只做一个 javascript 任务,我得到了一台 ubuntu 机器,并想用 nodejs 启动一个容器,提供 html、css、javascript。然后我想要另一个带有后端 API 的容器......因为这一切都发生在同一个服务器或 IP 中,这是否可能没有跨源调用????

【问题讨论】:

【参考方案1】:

见the Same-origin policy:

如果协议、端口(如果指定)和主机相同,则两个 URL 具有相同的来源。

您不能让两个不同的服务在同一个端口上侦听,因此即使您的静态内容和 API 服务器共享一个 IP 地址,它们也必须在不同的端口上运行。

因此,您需要为 API 服务器配置 CORS,或者配置静态内容服务器以代理对 API 服务器的请求。

【讨论】:

所以如果我在服务器中指定并允许 CORS,这就足够了?...这可以工作,因为只有我的前端不允许库、框架等 @user998548 — 是的【参考方案2】:

您需要在后端 API 上提供正确的 CORS 设置; CORS 确实考虑了端口号。参考这篇文章:CORS error on same domain?

【讨论】:

以上是关于仅使用 javascript 的 CORS的主要内容,如果未能解决你的问题,请参考以下文章

CORS Java 服务器端实现

使用javascript仅更改元素中的文本[重复]

JavaScript 使用仅限javascript创建无限下拉列表框

仅使用 jQuery 或 Javascript 刷新 div

隐藏仅使用 CSS 显示内容列表,不使用 javascript

如何仅使用 JavaScript 定位 Internet Explorer 11?