axios 在 NS VUEJS APP 中的调用没有失败

Posted

技术标签:

【中文标题】axios 在 NS VUEJS APP 中的调用没有失败【英文标题】:axios not failing on get call in NS VUEJS APP 【发布时间】:2019-06-28 13:53:30 【问题描述】:

我有一种方法可以在单击按钮时调用登录端点

login() 
                let email = this.user.email
                let password = this.user.password
                axios.post('invalidRoute').then( (response) =>
                    console.log('success')
                    console.log(response.data)
                ).catch(function (error) 
                    console.log('error')
                    console.log(error)
                )
            ,

无论我设置什么url路由,axios都认为post成功,总是注销成功消息和空白响应数据。

我直接在组件顶部使用行导入 axios

import axios from 'axios'

我不会在其他任何地方使用它。

这是一个基本的 nativescript vue js 应用程序。

这就是我的 main.js 的样子

import Vue from "nativescript-vue";
import Vuex from 'vuex'
import store from './store/store';
import * as applicationSettings from 'tns-core-modules/application-settings'

import router from './router'

Vue.prototype.$router = router


Vue.config.silent = false
Vue.use(Vuex)

new Vue(
    render: h => h('frame', [h(router['login'])]),  store

).$start()

这让我发疯了,我不明白为什么它不会触发捕获。

【问题讨论】:

【参考方案1】:

我认为这是 Axios 的问题。当请求失败时,N 状态码将是null,似乎当状态码具有虚假值时,Axios 认为该请求是成功的。

看起来有一个类似的issue 登录了他们的 Github。

【讨论】:

【参考方案2】:

我发现 axios 和 http 在某些情况下不会调用任何东西。 我不知道为什么,我被调查了两天。没有线索。 刚刚改用 Fetch,现在一切正常。

【讨论】:

以上是关于axios 在 NS VUEJS APP 中的调用没有失败的主要内容,如果未能解决你的问题,请参考以下文章

如何在 vuejs3 应用程序的设置中调用方法?

如何使用 Axios 从 localhost VueJS 调用服务器?

vuejs 应用程序中异步 axios 调用的多个响应的竞争条件

axios 在 API vuejs 中获取 id

《移动端在线音乐app》vueJs+axios+nodeJs+Vant+mock-项目实战¥9.9

VueJS/NuxtJs中如何动态调用axios方法