53047


vue.jsを使用し、axiosでpostした際に、status:500が返ってきてもcatchに入ってくれません。

[code]

      await this.axios
        .post('/user', data)
        .then(response => {
          console.info(response.data)
          this.result = response.data
        })
        .catch(error => {
          console.info(error)
        })
    
[/code]

status：500が返ってきた場合のエラーハンドリングの仕方はどんなのがありますか。  
よろしくお願い致します。


CC BY-SA 4.0
2019-02-12T14:44:14.103
52736
2021-04-04T00:51:32.420
2021-04-04T00:51:32.420
32986
30948
question
vue.js axios
axiosのpostでstatus:500が返ってきたときにcatchに入らない


自己解決しました。

下記の部分でコンソールにログを表示していましたが、  
これが、ブラウザ標準のエラーログと勘違いしていました。

[code]

    .catch(error => {
      console.info(error)
    })
    
[/code]

console.info(error)の結果

[code]

    Error: Request failed with status code 500
    at createError (createError.js?16d0:16)
    at settle (settle.js?db52:18)
    at XMLHttpRequest.handleLoad (xhr.js?ec6c:77)
    
[/code]

下記のようにconstで受け取り、statusを判定することで、  
status毎の処理分岐ができそうです。

[code]

    async get404 () {
      const test = await this.$axios
        .get('/404')
        .then(response => {
          console.info(response.data)
          this.result = response.data
        })
        .catch(error => {
          console.info(error)
          return error
        })
      if (test.response.status === 404) {
        console.info('ページが見つかりません')
      }
    }
    
[/code]


CC BY-SA 4.0
2019-02-26T04:35:38.500
53047
2019-02-26T04:35:38.500
30948
52736
answer