[英]Node.js printing back undefined for properties in console
我正在嘗試打印出發布后返回的一些數據,但它以未定義狀態打印。 解析器設置正確嗎?
服務器文件
const taskController = require("./controllers/registration");
const express = require('express')
const parser = require('body-parser');
const app = express()
const router = express.Router();
app.use(parser.urlencoded({extended:false}));
app.use(parser.json());
app.use("/api", router);
router.route("/register").post(taskController.register);
router.route("/login").get(taskController.login);
router.route("/logout").get(taskController.logout);
var server = app.listen(3000);
控制者
var server = require('../app.js')
const mysql = require('mysql');
exports.register = function(req, res){
console.log(req.body.fName);
console.log(req.body.lName);
console.log(req.body.id);
res.send("Registering");
};
謝謝。
我得到了您的代碼並在本地運行。 我進行路由器更改最后,我使用curl發出發布請求。 答案結束我附上結果。
Server.js
const taskController = require("./controllers/registration");
const express = require('express')
const parser = require('body-parser');
const app = express()
const router = express.Router();
app.use(parser.urlencoded({extended:false}));
app.use(parser.json());
app.use("/api", router);
// Here Change your router
router.post("/register", taskController.register);
var server = app.listen(3000);
控制器/注冊
exports.register = function(req, res){
// console.log (req.body)
console.log(req.body)
// existing console.log
console.log(req.body.fName);
console.log(req.body.lName);
console.log(req.body.id);
res.send("Registering");
};
用戶卷曲以發出發布請求1.不帶參數
curl -d '{}' -H "Content-Type: application/json" -X POST http://localhost:3000/api/register
//控制台輸出
{}
undefined
undefined
undefined
使用參數// fName:T,lName:Black,id:1234
curl -d'{“ fName”:“ T”,“ lName”:“ Black”,“ id”:1234}'-H“ Content-Type:application / json” -X POST http:// localhost:3000 / api /注冊
//控制台輸出
{ fName: 'T', lName: 'Black', id: 1234 }
T
Black
1234
這可能對您有幫助:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.