我從我的輸入字段將數據發送到我的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'可以拋出一個錯誤,但它不會觸發它。 –