标签归档:axios

Vue 中统一处理 ajax 请求错误

通常说, ajax 请求错误有两种, 一种是网络问题或者代码问题所造成的 400, 500错误等, 另外一种是请求参数后端通不过验证, 由后端抛出的错误

第二种根据不同的后端框架或者程序猿又可以分成两种, 一种是直接返回 json, 用一个 特别的 code 来区别正常请求返回的数据, 如:

{
  code: -404,
  message: '这是错误信息',
  data: '',
}

还有一种就是抛出 http 404 之类的, 然后把错误原因放在 header 里.

在组件写调用 ajax时, 通常都是这么写(这里以 axios 为例):

import axios from 'axios'
axios.get('/user?ID=12345')
  .then(function (response) {
    if (response.data.code === 200) {
        console.log(response.data)
    } else {
        // 由后端抛出的错误
        alert(response.data.message)
    }
  }).catch(function (error) {
       // 由网络或者服务器抛出的错误
     alert(error.toString())
  })

继续阅读