代码之家  ›  专栏  ›  技术社区  ›  A. Larsson

当服务器响应不是预期的类型时,如何捕获错误?

  •  0
  • A. Larsson  · 技术社区  · 6 年前

    在请求我的后端“moduleData”时,它是稍后将被映射的数据的json对象,响应有时可以是一个字符串,该字符串是一个Html页面,其主体为:

     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     <html>
       <head>
       </head>
       <body text="#000000">
         <h2>Agent done</h2>
       </body>
     </html>
    

    当get()函数与 { responseType: 'json' } -反对?

    下面是我的代码的外观:

      axios
        .get(url, { responseType: 'json' })
        .then(response => {
          console.log(response)
          newState = this.formatData(response.data, oldState)
          this.setState(newState, () => {
            if (this.state.sortState) {
              this.sortEntries()
            }
          })
        })
        .catch(err => {
          console.log('Catch error')
          console.log(err.response)
          this.setStatus({
            action: 'get',
            show: true,
            msg: languages[this.state.lang].moduleDataFail,
            code: 400,
            isError: true,
          })
        })
    
    0 回复  |  直到 6 年前