相关疑难解决方法(0)

Django ajax错误响应最佳实践

我正在使用ajax来改善我的Django项目中的用户体验.我在这里关注的是如何正确地响应浏览器的错误.据我所知,我可以:

  1. 逐个验证请求数据并逐个保护异常.如果发生了不好的事情,请提高Http404或其他异常以明确宣布发生错误.要么
  2. 只需编写代码而无需异常处理,并假设它可以正常工作.如果发生了不好的事情,未捕获的异常将导致内部服务器错误,这仍然是浏览器的错误

对我来说,fisrt方法似乎更正统,因为在Python中,"明确比隐含更好"的哲学确实很重要.但是,由于从第二个中删除了各种异常检查,因此它更清晰,更少碎片,更易读.

我正在使用jQuery来处理ajax请求/响应,这两种方法似乎都有效.我的问题是:

  1. 两种方法都可以接受吗
  2. 其他Javascript库的第二种方法会失败吗?
  3. 这是什么最好的做法?

PS.我做了必要的数据验证.请不要为此偏离主题.:)

python django ajax jquery

11
推荐指数
1
解决办法
8762
查看次数

前端如何处理标准Error对象?

我有一个带有许多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}

javascript api error-handling

2
推荐指数
1
解决办法
184
查看次数

标签 统计

ajax ×1

api ×1

django ×1

error-handling ×1

javascript ×1

jquery ×1

python ×1