我将后端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,仅当在不同域中发出请求时,才应启动相同的来源策略。当我们从本地主机到本地主机(尽管到其他端口)发出请求时,为什么会抱怨呢?
我如何进行这项工作,这会在生产中引起问题吗?
所述端口还计数跨域请求,因此http://localhost:3000和http://localhost:3501是 2个不同的结构域 (来自浏览器的观点来看)。
http://localhost:3000
http://localhost:3501
如果您需要两个应用程序(客户端和后端)都在不同的端口上运行,请考虑使用http://enable-cors.org/