Express JS不响应post请求发送JSON

时间:2014-10-13 23:34:33

标签: javascript json node.js angularjs express

我正在编写一个与JJ的ExpressJS后端通信的AngularJS应用程序。我的server.js文件如下:

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

//Express 4
app.use(express.static(__dirname, '/'));

app.get('/questions', function(req, res) {
    res.json(questions);
});

app.post('/new_question', function(req, res){
    res.json(req.body);
    //questions.unshift(req.body);
});

app.listen(8080);

当我:curl -H "Content-Type: application/json" -d '{text: "text", votes: 0 }' localhost:8080/new_question我什么也得不回来。我在这里错过了什么?我觉得它一定是特别愚蠢的东西。

1 个答案:

答案 0 :(得分:1)

您的 POST 将需要一个bodyparser中间件,如评论中所述。

但是,我不知道你的 GET 中有什么问题。也许问题是无效的json?试试吧

res.send(questions,200);

看看会发生什么。

此外,使用记录器获取有关您的问题的更多信息:您获得哪种请求状态?等...

app.use(express.logger());

如果您不想记录静态内容请求,请将其放在静态电话之后。