【问题标题】:Vuex Action - Returning Axios return ErrorVuex Action - 返回 Axios 返回错误
【发布时间】:2019-09-23 03:17:14
【问题描述】:

Vuex Action - 返回 Axios 返回错误。

promise 没有返回正确的值,我做错了什么?

有人可以帮助解决这个疑问。

我想在服务器后面显示错误信息。

从现在开始,我非常感谢您的关注。 谢谢。

组件

<q-form
                @submit="onSubmit"
                @reset="onReset"
              >
                <q-input outlined v-model="username" label="User" />
                <br>
                <q-input outlined v-model="password" type="password" label="Pass" />
                <br>
                <q-btn unelevated  type="submit" color="primary full-width" label="Enter" />
              </q-form>

    methods: {
...mapActions('auth', ['login']),
onSubmit () {
          this.login({ 'username': this.username, 'password': this.password }).then(obj => {
            console.log(obj)
          }).catch(obj => {
            console.log(obj)
          })
        }
}

function login ({ commit, state, getters }, data) {
  return axios.post(`/api/token`, {
    username: data.username,
    password: data.password
  })
    .then(response => {
      commit('setToken', response.data)
    })
    .catch(error => {
      return error
    })
}

POST http://localhost/api/token 400(错误请求)

【问题讨论】:

    标签: javascript vue.js promise vuejs2 vuex


    【解决方案1】:

    您需要定义您的函数,而不是直接将其粘贴到方法对象中:

    methods: {
      ...mapActions('auth', ['login']),
      myLogin() {
        this.login({ 'username': this.username, 'password': this.password }).then(obj => {
          console.log(obj)
        }).catch(obj => {
          this.error = obj;
        })
      },
    }
    

    此外,您正在映射同名的操作:login,因此您需要将本地方法更改为不同的名称,这就是我将其命名为 myLogin 的原因。

    创建一个名为errordata 属性,并在您打算显示错误的组件中使用:{{ error }}

    【讨论】:

    • 我做了一个更详细的问题。谢谢各位
    • 好的,请同时在auth模块中显示export
    • 导出{登录}
    • 现在我看到您收到 400 错误,因此请求可能发送得很好,但您发送的信息有误。你验证了this.usernamethis.password的值吗?
    • 就是这样。 400 错误来自服务器的消息。所以我打算显示这条消息。
    猜你喜欢
    • 2019-05-08
    • 2019-02-13
    • 2019-07-30
    • 2021-12-11
    • 1970-01-01
    • 2020-03-20
    • 2020-08-09
    • 2020-03-02
    • 2021-09-10
    相关资源
    最近更新 更多