Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Heroku上托管的Angular应用程序修复CORS?_Angular_Heroku_Cors_Mean Stack - Fatal编程技术网

如何使用Heroku上托管的Angular应用程序修复CORS?

如何使用Heroku上托管的Angular应用程序修复CORS?,angular,heroku,cors,mean-stack,Angular,Heroku,Cors,Mean Stack,我已经按照2019年10月1日12:15在Heroku上部署了Angular应用程序,实际上在我的笔记本电脑上运行良好 然而,在我的手机中打开请求并没有起作用。我在和MEAN stack一起工作 基本上后端在node express中,它与MongoDB通信并处理文档。 我还在Heroku上托管了后端,它返回了backend.appheroku.com这样的链接。例如,如果我在PostMan中运行此命令以发出请求,则它可以正常工作。我请求哪种设备并不重要,例如:GET backend.apphe

我已经按照2019年10月1日12:15在Heroku上部署了Angular应用程序,实际上在我的笔记本电脑上运行良好

然而,在我的手机中打开请求并没有起作用。我在和MEAN stack一起工作

基本上后端在node express中,它与MongoDB通信并处理文档。 我还在Heroku上托管了后端,它返回了backend.appheroku.com这样的链接。例如,如果我在PostMan中运行此命令以发出请求,则它可以正常工作。我请求哪种设备并不重要,例如:GET backend.appheroku.com/users

当然,在FrontEnd Angular应用程序中,我创建了一个service.ts,这样我就可以发出诸如GET、POST等请求……Heroku还返回了一个类似FrontEnd.appheroku.com的链接。这在我的笔记本电脑中运行良好,但是,在手机中运行该链接后,我无法再从前端应用程序发出请求。Ex frontend.appheroku.com/users从backend.appheroku.com/users请求用户集合,并用HTML显示结果

我只知道这是从CORS的问题,然而,我仍然没有找到解决办法。我也曾尝试过遵循的步骤,但也没有成功

Backend.js文件:

var express = require('express')
var cors = require('cors')
var app = express()

app.use(cors())

app.get('/users', function (req, res, next) {
  res.json({msg: 'This is CORS-enabled for all origins!'})
})

let port = process.env.PORT || 3050;

app.listen(port, function () {
  console.log('CORS-enabled web server listening on Heroku port')
})

提前感谢。

我不得不在我的backend.js中添加下面的代码。谢谢:

在package.json中,我还必须添加heroku postbuild:ng build-prod:


您必须为后端启用CORS支持。查看文档或搜索解释如何使用node express或MEAN的博客文章。我也试过了。启用“所有CORS请求”部分。请添加后端的相关代码以及问题中出现的CORS错误消息。您还必须启用飞行前请求:
app.options('*', cors()) // include before other routes
{
    "postinstall": "ng build --aot --prod",
    "heroku-postbuild": "ng build --prod" // add this for heroku
},