我正在使用ajax来改善我的Django项目中的用户体验.我在这里关注的是如何正确地响应浏览器的错误.据我所知,我可以:
对我来说,fisrt方法似乎更正统,因为在Python中,"明确比隐含更好"的哲学确实很重要.但是,由于从第二个中删除了各种异常检查,因此它更清晰,更少碎片,更易读.
我正在使用jQuery来处理ajax请求/响应,这两种方法似乎都有效.我的问题是:
PS.我做了必要的数据验证.请不要为此偏离主题.:)
我有一个带有许多API请求的前端应用程序,但是使用错误响应很痛苦。
有时我需要遍历许多嵌套对象,例如:error.response.data.email有时是error.response.data.address.province[0]。
我无法预测所有错误,因此编写手动“解析器”对我来说似乎是一个肮脏的额外解决方案:
const errorsObject = err.response.data
let errors = ''
Object.keys(errorsObject).map(key => {
if (key === 'address') {
Object.keys(errorsObject.address).map(
key => (errors += `${key} : ${errorsObject.address[key]}\n`)
)
} else {
errors += `${key} : ${errorsObject[key]}\n`
}
return undefined
})
yield toast.error(errors)
Run Code Online (Sandbox Code Playgroud)
而且它仍然不能涵盖所有内容。
是否有任何前端解析器?如果没有,我们的后端是Python(Django),也许后端有一个软件包?理想情况下,我希望看到一系列平面的对象{title, message}。