Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js vuex分派操作具有参数,但获得空参数值_Vue.js_Vuex_Nuxt.js - Fatal编程技术网

Vue.js vuex分派操作具有参数,但获得空参数值

Vue.js vuex分派操作具有参数,但获得空参数值,vue.js,vuex,nuxt.js,Vue.js,Vuex,Nuxt.js,我正在尝试在我的vuex中创建操作,该操作的方法是goLogin,参数为email和password,在这种情况下,我使用的是numxt,当我尝试在我的组件中使用fetch时,dispatch与该参数配合良好,但是,当我尝试将其作为方法移动到@click时,调度参数为null,因为我在操作方法中记录控制台日志,它不是null,但当它到达后端API时,后端API将其读取为null 以下是我的行动: in-store/login.js 导出常量操作={ goLogin({commit},obj){

我正在尝试在我的vuex中创建操作,该操作的方法是
goLogin
,参数为email和password,在这种情况下,我使用的是numxt,当我尝试在我的组件中使用fetch时,dispatch与该参数配合良好,但是,当我尝试将其作为方法移动到@click时,调度参数为null,因为我在操作方法中记录控制台日志,它不是null,但当它到达后端API时,后端API将其读取为null

以下是我的行动: in-store/login.js

导出常量操作={
goLogin({commit},obj){
//I console.log在这里记录obj,它不是空的
返回LoginService.tryLogin(obj)。然后((res)=>{
提交(“IS_LOGIN”,res.data);
}).catch(e=>{
提交(“IS_LOGIN”,例如response.data);
})
}
}
LoginService是从axios实例获得的,如下所示

tryLogin(obj){
//I console.log在这里记录obj,它不是空的
返回goAxios.get(“/login”{
资料来源:obj,
})
}
在@click login的我的组件方法中

异步tryLoginFromComponent(){
等待此消息。$store.dispatch(“login/goLogin”{
“电子邮件”:test@gmail.com",
“密码”:“12345678”,
})
},
当我单击login时,运行
tryloginfromfomponent
的方法,它将在store/login.js中执行操作 但该参数的obj在后端为null,虽然I console.log不是


我在上面所做的有什么不对吗??我一整天都在尝试搜索,但找不到适合我的工作,我希望这里的每个人都能节省我的时间,因为
操作
已经是异步的,所以你不必异步调用
tryLoginFromComponent
。可能有问题。

您不必异步调用
tryLoginFromComponent
,因为
操作已经是异步的。也许有个问题

 tryLoginFromComponent() {
    this.$store.dispatch("goLogin",{
      email: "test@gmail.com",
      password: "12345678",
    })
  },
不需要把电子邮件和密码在这里双引号。这是一个对象,不是JSON键值对。试试看


不需要把电子邮件和密码在这里双引号。这是一个对象,不是JSON键值对。试试看。

在开发人员工具的“网络”选项卡中,您看到了什么?此时请求是否正确?如果不正确,它与应该的请求有何不同?使用
data
GET
请求不太可能是您想要的。它应该是一个
POST
,或者应该是
params
而不是
data
@skittle。在网络上,身体数据没有任何内容,点击api是正确的,你通常登录时使用
POST
吗?就个人而言,我不会使用
GET
请求登录,尤其是因为它有副作用。但这里的关键是,您使用的axios不正确。将
data
选项传递给
get
方法不会起任何作用。如果服务器使用的是
GET
请求,那么您需要使用
params
。您在开发人员工具的“网络”选项卡中看到了什么?此时请求是否正确?如果不正确,它与应该的请求有何不同?使用
data
GET
请求不太可能是您想要的。它应该是一个
POST
,或者应该是
params
而不是
data
@skittle。在网络上,身体数据没有任何内容,点击api是正确的,你通常登录时使用
POST
吗?就个人而言,我不会使用
GET
请求登录,尤其是因为它有副作用。但这里的关键是,您使用的axios不正确。将
data
选项传递给
get
方法不会起任何作用。如果服务器正在使用
GET
请求,则需要使用
params