如何解决类型错误:无法获取 REACT JS
所以我正在编写一个应用程序,当我输入正确的电子邮件地址(如 user@gmail.com)时,我试图注册一个用户,我给了我 TypeError: Failed to fetch 但是当我输入像“user”这样的无效电子邮件时,它会运行正确。 下面是 SignUp.js 代码
const SignUp =()=>{
const history=useHistory()
const [name,setName]=useState("")
const [password,setPassword]=useState("")
const [email,setEmail]=useState("")
const PostData =()=>{
// if(!/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test(email)){
// M.toast({html: 'Invalid email',classes: '#0d47a1 blue darken-4'})
// return
// }
fetch("/signup",{
method:"post",headers:{
"Content-Type":"application/json",'Accept': 'application/json'
},body:JSON.stringify({
name,email,password
})
}).then(res=>res.json())
.then(data=>{
console.log(data)
if(data.error){
M.toast({html: data.error,classes: '#0d47a1 blue darken-4'});
}
else{
// M.toast({html: data.message,classes: '#0d47a1 blue darken-4'});
history.push('/signin')
}
}).catch(err=>{
console.log(err)
})
}
下面是我的 signup.js(服务器端代码)
router.post("/signup",(req,res) => {
const { name,password } = req.body
if (!email || !password || !name) {
return res.status(422).json({ error: "Please add all the fields" })
}
User.findOne({ email: email })
.then((savedUser) => {
if (savedUser) {
return res.status(422).json({ error: "User Already Exists" })
}
bcrypt.hash(password,12)//default is 10
.then(hashedpassword => {
const user = new User({
email,password:hashedpassword,name
})
user.save()
.then(user => {
console.log(user)
res.json({ message: 'User Joined BigBrains' })
})
.catch(err => {
console.log(err)
})
})
}).catch(err => {
console.log(err)
})
})
我已经通过 Postman 检查了我的后端,它运行正常。但是当我通过客户端(前端)运行它时,它会给我正确的数据输入错误。
请帮忙。我是开发新手,但我知道我的逻辑是正确的我不知道为什么我会收到这个错误 ERRORSNIP
解决方法
谢谢。我已经解决了我的问题我正在制作无效的网络地址我已经卸载了节点模块并再次 npm 安装它和所有东西 w
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。