2016-03-28 112 views
0

我目前正在尝试学习如何使用MEAN堆栈,并且在服务器上执行POST请求时遇到问题。Node.js 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未找到和

我试着重新启动我的server.js脚本,但无济于事不能发布/ API /职位。

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

回答

3

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

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

这工作,谢谢。 –

+0

@MohideenImranKhan我很高兴我能帮上忙。 – PeS