我从我的输入字段将数据发送到我的API:服务器发送成功,即使没有发现任何
$.ajax({
url: '/api/login',
type: 'GET',
dataType: 'json',
ContentType: 'application/json',
data: {formData},
success: (data) => {
console.log('SUCCESS')
console.log(data)
this.setState({
isInProcess: false
})
},
error: (jqXHR) => {
console.log(jqXHR)
console.log('ERROR')
this.setState({isInProcess: false})
}
})
在我的服务器端我有一个功能,看看我有需要的用户在DB:
async function findUser(data) {
try {
const user = await User.findOne({email: data.email,
password: data.password})
console.log('User was found')
return { user }
} catch (err) {
console.log('error', err)
throw err
}
}
这将在这里执行:
app.get('/api/login', async (req, res) => {
const data = req.query
try {
const foundUserData = await findUser(data.formData)
return res.json(foundUserData)
} catch (err) {
return res.status(400).json(err)
}
})
它工作正常,但如果用户没有在数据库中找到我反正发送成功。 为什么?
因为没有错误,当发生错误时 – linasmnew
我温控功能findUser抛出一个错误 –
“User.findOne”抓只叫如果找不到相等的话就返回一个空文档,所以虽然你的'findUser'可以抛出一个错误,但它不会触发它。 –