[英]Password Post not working Reactjs with Nodejs server
我試圖從Reactjs前端向Nodejs服務器(使用Expressjs)發送名稱和密碼。 當我發送名稱和密碼時,僅發送名稱。 這是我的Reactjs代碼:
onSubmitSignIn = () => {
console.log(this.state.signInPassword);
fetch('http://localhost:3000/signin', {
method: 'post',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: this.state.signinName,
password: this.state.signinPassword
})
})
.then(response => response.json())
.then(user => {
if(user.id){
this.props.loadUser(user);
this.props.onRouteChange('home');
}
})
}
此函數正確觸發,console.log()顯示密碼。
這是我的Nodejs代碼:
app.post('/signin', (req, res) => {
const { name, password } = req.body;
console.log("FRONT END : ", password);
console.log("BACK END: ", database[0].password);
console.log("FRONT END : ", name);
if(name == database[0].name && password == database[0].password){
res.json(database[0]);
}else{
res.status(400).json("Couldn't get user");
console.log('didnt work');
}
})
從前端發布的名稱的console.log()會顯示,但從前端發布的密碼的console.log()不會顯示。 為什么會這樣呢?
不知道這是否是錯字,但是在控制台日志中,您使用的是駝峰式大小寫:
console.log(this.state.signInPassword);
在體內,您錯過了I大寫字母:
password: this.state.signinPassword
您需要更新
onSubmitSignIn = () => {
var data = new FormData();
data.append("json", JSON.stringify({
name: this.state.signinName,
password: this.state.signinPassword
}));
fetch('http://localhost:3000/signin', {
method: 'post',
headers: {'Content-Type': 'application/json'},
body: data
})
.then(response => response.json())
.then(user => {
if(user.id){
this.props.loadUser(user);
this.props.onRouteChange('home');
}
})
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.