我使用nodejs来为我的角度应用程序提供服务,并使用我的laravel API的artisan . 我想让角度应用程序与API通信,但我可以在同一个端口上运行,因为只有一个应用程序可以在端口上运行,但是,我不能在不同的端口上运行它们,因为那时我的前端应用程序将无法向API发送请求 . 我尝试通过 localhost:8000/login (身份验证)将请求发送到服务器,但由于我的前端在端口3000上运行,因此无法访问它 .

以下是我启动服务器的方法:

node server (从端口3000开始)

php artisan serve (可选择通过 --port=8000 设置端口

这种方式甚至是正确的吗?我是这种概念的新手 . 从前端到达API的最佳做法是什么?

Update:

在同一端口上运行两个服务器时,我收到来自Google Chrome控制台的错误消息:

angular.js:11756 POST http:// localhost:3000 / localhost / login 404(Not Found)

在端口3000上运行前端和8000上的API时,我得到:

angular.js:11756 XMLHttpRequest无法加载localhost:8000 / login . 交叉源请求仅支持协议方案:http,data,chrome,chrome-extension,https,chrome-extension-resource .

如果我没有为请求定义端口,它将使用与运行的服务器相同的端口(本例为端口3000) . 如果我指定端口,我会得到上面的错误 .

我尝试的另一件事是在网址前放置 http:// ,然后我收到此错误:

angular.js:11756 POST http:// localhost:8000 / login(匿名函数)@ angular.js:11756sendReq @ angular.js:11517serverRequest @ angular.js:11227processQueue @ angular.js:15961(匿名函数)@ angular .js:15977Scope . $ eval @ angular.js:17229Scope . $ digest @ angular.js:17045Scope . $ apply @ angular.js:17337(匿名函数)@ angular.js:25023defaultHandlerWrapper @ angular.js:3456eventHandler @ angular . js:3444:3000 /#/ login:1 XMLHttpRequest无法加载http:// localhost:8000 / login . 请求的资源上不存在“Access-Control-Allow-Origin”标头 . 因此不允许来源'http:// localhost:3000'访问 . 响应具有HTTP状态代码405 .