javascript - Express JS 不发送 JSON 来响应 post 请求

标签 javascript json node.js angularjs express

我正在编写一个小型 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/

相关文章:

java - 如何在 Spring 中仅返回特定字段

json - 如何让 jquery fullcalendar 将附加参数传递给我的 json 提要脚本

node.js - 为在 phantomjs 中的 browserify 包上运行(通过 grunt)的 Jasmine 测试生成 Istanbul 尔代码覆盖率报告

css - 为 sass 创建自定义单元

javascript - 如何从 2 个数组设置饼图系列数据

javascript - 图像动画下来 javascript(无 jQuery)

javascript - 以 JSON 形式返回字典并使用 JS 函数成功访问其内容 - C#

javascript - 警告 : No such label 'RESPONSE TIME' for console. timeEnd()

javascript - 从弹出窗口打开新的浏览器窗口

javascript - Magento 2 knockout XML->PHTML->JS->HTML