我对React还是很陌生,我一直在尝试创建一个SignUp页面,但是,我陷入了这个错误。有人可以告诉我我应该怎么做才能解决此错误吗?
注册方法:
// = Action =
// Sign up
export const signup = user => {
return fetch(
`${API}/signup`,
{
method: 'POST',
headers: {
Accept:'application/json',
'Content-Type' : 'application/json'
},
body: JSON.stringify(user)
})
.then(response => {
return response.json();
})
.catch(err => console.log(err));
}
答案 0 :(得分:1)
重写注册方法(ps:我只改了.catch处理程序)
`
db.find({all_fields_and_subfields: {'$regex': '^ice\s*', '$options': 'i'}
`
答案 1 :(得分:0)
您需要将fetch
逻辑包装在Promise中,以将值返回给调用方。
export const signup = user => {
return new Promise((resolve, reject) => {
fetch(`${API}/signup`,
{
method: 'POST',
headers: {
Accept:'application/json',
'Content-Type' : 'application/json'
},
body: JSON.stringify(user)
})
.then(response => response.json())
.then(jsonData => resolve(jsonData))
.catch(err => resolve({error: `something went wrong err : ${err}`}));
})
}
signup(user).then(data => {
if (data.error) {
// handle error case
} else {
// handle success case
}
})
现在,您的signup
方法将返回一个值。您的data
变量将不再是undefined
。
我希望它会有所帮助,随时添加评论或询问我更多详细信息
答案 2 :(得分:0)
数据变量未定义,因为您的连接未与后端建立,您的Web浏览器说ERR_CONNECTION_REFUSED
。您尚未在快速应用程序中添加CORS中间件,或者API中的网址不正确。