当前位置: 首页 > 知识库问答 >
问题:

Axios在vuex操作中发布具有多个参数的请求

后星河
2023-03-14

在vuex操作中使用axios获取API数据:

actions: {
login ({commit}, payload) {
  axios.post(globalConfig.TOKEN_URL, {
    payload
  })
    .then((resp) => {
      commit('auth_success', resp.data)
    })
    .catch((err) => {
      console.log(err)
    })
},
}

组件发送数据的方法:

methods: {
  authChatClient () {
    let payload = {
      name: this.clientFio,
      number: this.clientNumber
    }
    this.$store.dispatch('login', payload)
  },
}

然而,它不会工作,因为负载是一个对象,包装在负载对象中。是否可以将多个参数从组件的方法发送到vuex操作?

Post请求如下所示:payload:{name:“aaa”,number:“111”}

共有1个答案

赵越
2023-03-14

Vuex只允许对一个动作使用1个参数。但是,如果我正确理解您的问题,您可以将多个参数发送到vuex操作,如果它们被包装在一个对象中。示例

login({commit}, {name, number /*, ...more here*/}) {
    axios.post(globalConfig.TOKEN_URL, {
        name: name,
        number: number,
        /* more parameters here */
    })
    /* ... */
}

您可以通过以下方式进行调用:

methods: {
  authChatClient () {
    let payload = {
      name: this.clientFio,
      number: this.clientNumber,
      /* more parameters */
    }
    this.$store.dispatch('login', payload)
  },
}
 类似资料:
  • 本文向大家介绍vue+axios全局添加请求头和参数操作,包括了vue+axios全局添加请求头和参数操作的使用技巧和注意事项,需要的朋友参考一下 走登录的接口都会返回一个token值,然后存起来方便之后调接口的时候给后台传过去,传给后台的方式有两种:(具体使用哪种需要和后台商量) 1、放在请求头中 2、放在接口的参数中 1、放在请求头中 下面代码是从本地cookie中拿token VueCook

  • 问题内容: 我有一个源输入 input.txt 我想将这些输入馈入程序,如下所示: 所以我尝试使用 xargs ,但是没有运气。 它给 但我想要 任何的想法? 问题答案: 到目前为止给出的解决方案都无法正确处理包含空格的文件名。如果文件名包含“或”,有些甚至会失败。如果输入文件是由用户生成的,则应该准备好使用令人惊讶的文件名。 GNU Parallel 很好地处理了这些文件名,并为您(至少)提供了

  • 问题内容: 这是对API调用的原始请求: 该请求返回成功(2xx)响应。 现在,我尝试使用发送此请求: 一切对我来说看起来不错,我不太确定自己张贴的错误是什么导致400响应。 问题答案: 用于GET样式的URL参数,用于POST样式的正文信息。在请求中 同时 提供 两种 类型的信息是完全合法的,您的请求也可以这样做,但是您已经将URL参数编码为URL。 您的原始帖子虽然包含 JSON 数据。可以为

  • 出身背景 我将React Native中内置的应用程序连接到REST API。我通过Axios处理请求,并使用Redux存储查询结果。我有一个api连接的index.js文件,它保存了作为请求处理程序的函数,这些请求需要越来越深的授权级别。我有一个简单的函数返回访问令牌,这是由以下代码触发,当前位于应用程序的“欢迎页面”。 理想情况下,在浏览几个屏幕后,用户将进入主页并触发以下代码: 到目前为止,

  • 问题内容: 所以我有这段代码: 最初我是正常人,但是我更改为这个,因为我认为这可能是标题问题。但是我仍然没有检测,我也没有。但是,它正在接收数据。 知道有什么问题吗? 编辑 好吧,我想我知道怎么了。它将其作为json对象发布,因此只能在php:// input中读取。如何在axios中将其更改为普通字符串? 问题答案: 从文档中(我没有在引用的材料中保留链接): 默认情况下,axios将JavaS

  • 问题内容: 有谁知道如何在具有 多个 功能的groupby.agg()中传递参数? 最重要的是,我想将其与自定义函数一起使用,但是我将使用需要参数的内置函数来询问我的问题。 假设: 我该怎么做: 作为“分位数”的参数: 问题答案: 使用功能: 或者可以创建函数并将其名称设置为自定义列名称: