Как отловить ошибку, когда ответ сервера не соответствует типу? - PullRequest
0 голосов
/ 14 января 2019

При запросе моего бэкэнда для "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,
      })
    })
...