Node.js POST不起作用

时间:2016-03-28 03:05:29

标签: javascript node.js post curl express

我目前正在尝试学习如何使用MEAN堆栈,以及我在服务器上执行POST请求时遇到问题。

这是我的server.js脚本。

var express = require('express');
var bodyParser = require('body-parser');

var app = express();
app.use(bodyParser.json());

app.get('/api/posts', function(req, res) {
    res.json([
        {
            username: 'dickeyxxx',
            body: 'node rocks!'
        }
    ]);
});

app.post('api/posts', function(req, res) {
    console.log('post received!');
    console.log(req.body.username);
    console.log(req.body.body);
    res.send(201);
});

app.listen(3000, function() {
    console.log("Server listening on", 3000);
});

我尝试使用curl向服务器发送请求。 GET请求顺利进行,但POST请求给我带来了很多麻烦。这是我的卷曲声明:

curl -v -H "Content-Type: application/json" -XPOST --data "{\"username\":\"dickeyxxx\",\"body\":\"node rules!\"}" http://localhost:3000/api/posts

我找不到HTTP 404且无法发布/ api / post

我尝试重启我的server.js脚本,但无济于事。

我该如何解决这个问题?谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

您在POST的开头缺少正斜杠。尝试

app.post('/api/posts', function(req, res) {
res.send(201); 
});