node.js - ExpressJs帖子在heroku上不起作用

标签 node.js express heroku

我遇到了以下问题。

当我开发我的expressjs路由时,在localhost上,我的代码可以正常工作。在邮递员上,我也有成功,在我的webapp上也有。

但是相同的代码在heroku上不起作用。
我总是在路线上找到404。

我做了一些测试,发现问题出在app.post路线上。

当我使用app.get时,代码可在localhost和heroku上运行,但是使用app.post仅可在localhost而不在heroku上运行,我得到404。

我的节点版本和expressjs版本都相同。已检查。

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

var cors        = require('cors');
var bodyParser  = require('body-parser');
var morgan      = require('morgan');
var mongoose    = require('mongoose');
var config      = require('./config'); // get our config file

var port = process.env.PORT || 3333;
mongoose.connect(config.database);

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(morgan('dev'));
app.use(cors());

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});

app.post('/a', function(req, res) {
  res.json({ message: 'hooray! welcome to our api!' });  
});


app.listen(port);


来自heroku日志的消息

 at=info method=GET path="/a" host=nx-admin-api.herokuapp.com request_id=60a9fefc-92f1-48fc-a4c8-740e4d61bcd7 fwd="201.53.63.230" dyno=web.1 connect=4ms service=43ms status=404 bytes=322
2016-02-02T02:07:29.306917+00:00 app[web.1]: GET /a 404 46.719 ms - 14

最佳答案

您应该使用CORS模块。像这样;

    ...
    app.use(bodyParser.json());
    app.use(cors());
    ...

关于node.js - ExpressJs帖子在heroku上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35143872/

相关文章:

node.js - 使用 Jest、Graphql 和 Sequelize 测试数据库时如何避免 EADDRINUSE

css - 禁止 Rails 将背景图片嵌入 CSS

python - "Error while running ' $ python manage.py collectstatic --noinput '"在 django 上更改数据库后

web-services - Heroku 的其他环境变量是什么?

node.js - 使用带有 Express 和 Nodejs 的 socket.io-client 将查询发送到 java 服务器

node.js - 你如何修改 generator-angular-fullstack 图标?

node.js - 如何区分 Heroku 配置变量与 .Env 变量之间的区别

angularjs - 仅在单击 SideMenu 后才会显示 Ionic 内容

node.js - "Error: OK"在 Node.js 中使用 fs.readFile() 时(大约十万次迭代后)?

node.js - NodeJS SSL 从哪里获取 .key 文件