我遇到了以下问题。
当我开发我的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/