NodeJS req.body在函数nodejs中为空 - Rest API whit ExpressJs and sequelize。

问题描述 投票:0回答:1

我使用的是ExpressJS和sequelize.我需要调用两个函数("accoun.js "和 "people.js")到主函数(fullaccount.js)中,在 "fullaccount.js "中接收数据进行提交和处理。我需要调用两个函数("accoun.js "和 "people.js")到一个主函数(fullaccount.js)中,在 "fullaccount.js "中接收数据进行提交,并在其他函数中进行处理,我在 "fullaccount.js "中收到了准备好的req.body,但在 "accoun.js "和 "people.js "中REQ.BODY是空的。

app.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'));
});

帐户.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
}

帐户.js

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

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

people.js

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

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

我不知道是什么错误,我需要帮助。

javascript node.js express undefined undefined-function
1个回答
0
投票

req.bodyundefined 因为你没有通过初始的 requestaccount.addpeople.add

例如,对于account,你实际上传递的对象包含了 nick, passemail

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

为了避免混淆,您应该将您的名字改成 req 中的参数 account.adddata. 好的名字会让你省去很多麻烦:)

© www.soinside.com 2019 - 2024. All rights reserved.