【问题标题】:Post Request, Returning Undefined, NodeJS, Express发布请求,返回未定义,NodeJS,Express
【发布时间】:2021-01-28 11:35:56
【问题描述】:

当我在邮递员请求的正文中将 json 对象传递给它时,我的 post 请求返回 undefined。我一直试图弄清楚为什么会发生这种情况,但在第三个小时我似乎无法确定问题所在。

以下是相关代码:

app.post('/api/createBlock', (req, res) =>{
    const { Dblock } = req.body;
    console.log(Dblock);
    //Dblock returning undefined
    //dataBlock.createDB(Dblock);
});

至于邮递员,这就是我要插入的内容: json object to a post request at the right endpoint

这是错误:

TypeError: Cannot read property 'auth' of undefined
    at /home/main/public_html/Cypher-Network/src/index.js:174:35
    at Layer.handle [as handle_request] (/home/main/public_html/Cypher-Network/node_modules/express/lib/router/layer.js:95:5)
    at next (/home/main/public_html/Cypher-Network/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/home/main/public_html/Cypher-Network/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/home/main/public_html/Cypher-Network/node_modules/express/lib/router/layer.js:95:5)
    at /home/main/public_html/Cypher-Network/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/home/main/public_html/Cypher-Network/node_modules/express/lib/router/index.js:335:12)
    at next (/home/main/public_html/Cypher-Network/node_modules/express/lib/router/index.js:275:10)
    at /home/main/public_html/Cypher-Network/src/index.js:60:3
    at Layer.handle [as handle_request] (/home/main/public_html/Cypher-Network/node_modules/express/lib/router/layer.js:95:5)
TypeError: Cannot read property 'auth' of undefined
    at /home/main/public_html/Cypher-Network/src/index.js:174:35
    at Layer.handle [as handle_request] (/home/main/public_html/Cypher-Network/node_modules/express/lib/router/layer.js:95:5)
    at next (/home/main/public_html/Cypher-Network/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/home/main/public_html/Cypher-Network/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/home/main/public_html/Cypher-Network/node_modules/express/lib/router/layer.js:95:5)
    at /home/main/public_html/Cypher-Network/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/home/main/public_html/Cypher-Network/node_modules/express/lib/router/index.js:335:12)
    at next (/home/main/public_html/Cypher-Network/node_modules/express/lib/router/index.js:275:10)
    at /home/main/public_html/Cypher-Network/src/index.js:60:3
    at Layer.handle [as handle_request] (/home/main/public_html/Cypher-Network/node_modules/express/lib/router/layer.js:95:5)


【问题讨论】:

  • 你在哪里尝试访问auth
  • 感谢您的回复。我只是想打印出整个调试请求,但如果我执行 console.log(Dblock.auth),错误仍然存​​在

标签: javascript node.js http-post postman body-parser


【解决方案1】:
app.post('/api/createBlock', (req, res) =>{
  const Dblock = req.body;
  console.log(Dblock);
  //Dblock returning undefined
  //dataBlock.createDB(Dblock);
});

这样做,就能解决你的问题。

const { Dblock } = req.body; 在这里,您的代码在 req.body 中查找名为 Dblock 的属性,该属性不可用。

要了解更多关于解构赋值的信息,请查看here

【讨论】:

  • 我没有注意到 Dblock 不是一个对象,你介意向我解释一下为什么 Dblock 使用 JSON 对象就不是一个对象吗?
猜你喜欢
  • 1970-01-01
  • 2021-01-05
  • 2021-09-10
  • 2018-03-22
  • 2020-04-13
  • 2017-07-14
  • 1970-01-01
  • 1970-01-01
  • 2017-11-27
相关资源
最近更新 更多