Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的Axios route POST使用NodeJS时出现问题_Javascript_Node.js_Reactjs_Axios - Fatal编程技术网

Javascript 我的Axios route POST使用NodeJS时出现问题

Javascript 我的Axios route POST使用NodeJS时出现问题,javascript,node.js,reactjs,axios,Javascript,Node.js,Reactjs,Axios,我使用axios的Post路线有问题。 当我单击按钮创建新用户时,出现以下错误消息: (节点:13901)未处理的PromisejectionWarning:TypeError:无法读取未定义的属性“username” 我是js、node、express等的新手 我的代码: 我的反应是: import React,{useState}来自“React”; 从“react bootstrap”导入{Form,Row,Col,Button}; 从“axios”导入axios; 从“../utils/

我使用axios的Post路线有问题。 当我单击按钮创建新用户时,出现以下错误消息: (节点:13901)未处理的PromisejectionWarning:TypeError:无法读取未定义的属性“username”

我是js、node、express等的新手

我的代码: 我的反应是:

import React,{useState}来自“React”;
从“react bootstrap”导入{Form,Row,Col,Button};
从“axios”导入axios;
从“../utils/constants”导入{API_URL};
常量注册=(道具)=>{
常量[状态,设置状态]=使用状态({
用户名:“”,
密码:“”
});
常量[errorMsg,setErrorMsg]=useState(“”);
常量handleInputChange=(事件)=>{
设定状态({
……国家,
[event.target.name]:event.target.value
});
};
const handleOnSubmit=异步(事件)=>{
event.preventDefault();
试一试{
const{username,password}=state;
if(username.trim()!=''和password.trim()!=''){
/*const formData=new formData();
formData.append('username',username);
formData.append('password',password)*/
setErrorMsg(“”);
等待axios.post(`API_URL}/signup`{
用户名:用户名,
密码:密码
}, {
});
}否则{
setErrorMsg(“你的名字是什么?”;
}
}捕获(错误){
error.response&&setErrorMsg(error.response.data);
}
};
返回(
Se连接器
{errorMsg&&

{errorMsg}

} S'incrire ); }; 导出默认注册;
我的邮寄路线:

const express=require('express');
const router=express.router();
//const bcrypt=require('bcrypt');
const jwt=require('jsonwebtoken');
const User=require('../model/User');
路由器.post('/signup',异步(req,res)=>{
console.log(请求主体用户名);
试一试{
const{username,password}=req.body;
//bcrypt.hash(密码,10);
const user=新用户({
用户名,
密码,
});
等待user.save();
res.send(“使用一个bienétécréer的权利”);
}捕获(错误){
res.status(400)。send('Erreur lors de la création de votre compute use.Réessayez plus tard');
}
},
(错误、请求、恢复、下一步)=>{
如果(错误){
res.status(500).发送(错误消息);
}
});
我的用户架构:

const mongoose=require('mongoose');
const uniqueValidator=require('mongose-unique-validator');
const userSchema=mongoose.Schema({
用户名:{
类型:字符串,
要求:正确,
特里姆:没错,
独一无二:真的
},
密码:{
类型:字符串,
要求:正确,
修剪:对
}
},
{
时间戳:真
}
);
plugin(uniqueValidator);
const User=mongoose.model('User',userSchema);
module.exports=用户;

如果您使用React钩子,请分割不同的状态:

const [username, setUsername] = useState("");
const [password, setPassword] = useState("");

我找到了解决问题的方法,只需像这样使用“body parser”

@Theo Martinez
const[state,setState]=useState(“”);const[username,setUsername]=useState(“”);const[password,setPassword]=useState(“”);常量[errorMsg,setErrorMsg]=useState(“”);const handleInputChange=(event)=>{setState({…state[event.target.name]:event.target.value});setUsername({…username[event.target.name]:event.target.value})setPassword({…password[event.target.name]:event.target.value})更像这样:
consthandleUserNameChange=(event)=>{setUsername(event.target.value);})适用于每个州。您不再需要经典设置状态。好的,我更改了此设置,但我始终保留错误消息:(节点:30932)未经处理的PromisejectionWarning:TypeError:无法读取UnfinedHave的属性“username”@Theo Martinez?好的,我已经解决了我的问题。现在我使用主体解析器