一尘不染

从本地主机向本地主机发出请求时,为什么启动相同的源策略?

angularjs

我将后端API与使用它的前端HTML5应用程序分开作为一个单独的项目。我正在使用Yeoman进行前端开发。Yeoman在localhost:3501上运行,后端在localhost:3000上运行。当我从浏览器发出API请求时(使用AngularJS的$
http),我遇到了相同的原始策略:

XMLHttpRequest cannot load http://localhost:3000/venues. Origin http://localhost:3501 is not allowed by Access-Control-Allow-Origin.

AFAIK,仅当在不同域中发出请求时,才应启动相同的来源策略。当我们从本地主机到本地主机(尽管到其他端口)发出请求时,为什么会抱怨呢?

我如何进行这项工作,这会在生产中引起问题吗?


阅读 203

收藏
2020-07-04

共1个答案

一尘不染

所述端口还计数跨域请求,因此http://localhost:3000http://localhost:35012个不同的结构域
(来自浏览器的观点来看)。

如果您需要两个应用程序(客户端和后端)都在不同的端口上运行,请考虑使用http://enable-cors.org/

2020-07-04