簡體   English   中英

NodeJS req.body 在函數 nodejs 中為空 - Rest API 帶有 ExpressJs 和續集

[英]NodeJS req.body empty in funtion nodejs - Rest API whit ExpressJs and sequelize

我正在使用 ExpressJS 和續集。 我需要將兩個函數(“accoun.js”和“people.js”)調用到一個主 function(fullaccount.js)中,在“fullaccount.js”中接收數據以在其他函數中提交和處理,我收到了准備好的 req.body在“fullaccount.js”中,但在“accoun.js”和“people.js”中,REQ.BODY 為空

應用程序.js

const express = require('express');
const morgan = require('morgan');

var app= express(); 
app.set('port',process.env.PORT || 4094); 
app.use(morgan('dev')); 
app.use(express.urlencoded({extended:false})); 
app.use(express.json());        
app.use(require('./routes/back/account.route'));
app.use(require('./routes/back/people.route'));
app.listen(app.get('port'), function(){
  console.log('Working in port: '+app.get('port'));
});

fullaccount.js

const account=require( './account.ctrl');
const people= require ('./people.ctrl');
import Sequelize from 'sequelize';

export function add(req, res) {
  console.log(req.body); //-> it's ready. RETURNING JSON
  const {nick,pass,email,firstNam,lastName,identCard,birthDate,genderId,countryId}=req.body;

  account.add({nick,pass,email},res); //=>> invoke add method from account controller return undefined
  people.add({firstName,lastName,identCard,birthDate,genderId,countryId},res); //=>> invoke add method from people controller return undefined
}

account.js

import Account from '../../db/models/account.mdl';

export function add(req, res) {
  console.log(req.body); // it's return undefined 
};

人.js

import People from '../../db/models/people.mdl'; 

export function add(req, res) {
  console.log(req.body); // it's return undefined  
};

我不知道錯誤是什么,我需要幫助

req.body undefined ,因為您沒有將初始request傳遞給account.addpeople.add

例如,對於帳戶,您實際上傳遞的是包含nickpass和 email 的email

account.add({nick, pass, email}, res); // req.nick, req.pass, req.email are available

為避免混淆,您應該將account.add中的req參數重命名為data 好名字會讓你省去很多麻煩。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM