我正在编写一个小型 AngularJS 应用程序,它与 ExpressJS 后端进行 JSON 通信。我的 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
我什么也没得到。我在这里缺少什么?我觉得这一定是一件非常愚蠢的事情。
最佳答案
您的POST将需要一个bodyparser中间件,如评论中指出的。
但是,我看不出您的 GET 有什么问题。也许问题不是有效的json?简单地尝试一下
res.send(questions,200);
看看会发生什么。
此外,使用记录器获取有关您的问题的更多信息:您获得哪个请求状态?等等...
app.use(express.logger());
如果您不想记录静态内容请求,请将其放在静态调用之后。
关于javascript - Express JS 不发送 JSON 来响应 post 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26350516/