我已经调用axios并使用控制台日志显示它是否成功,但是,我想将axios post响应值传递给我的vue组件,并在我的vue组件中显示响应,以使我能够健康)状况。有什么办法吗?我尝试其他部分,但没有运气。请指导我。
main.vue
methods: {
onClicked() {
this.$store
.dispatch('Clickme', this.data)
.then(() => {
alert("Success");
})
.catch(() => {
alert("Error");
})
}
}
clicked.js
return new Promise((resolve, reject) => {
clicked(username, password)
.then(resp => {
console.log("---->>>> : ");
const data = resp.data.data
console.log(username, password);
console.log(resp);
console.log("statresponse.status : " + resp.data.status);
console.log("statresponse.message : " + resp.data.message);
console.log("statresponse.inside message : " + resp.data.data.message);
// console.log("USER.JS RESPONSE: " + resp.data.status);
// console.log("USER.JS RESPONSE: " + resp.data.message);
setToken(data.token)
commit('SET_TOKEN', data.token)
resolve()
})
.catch(error => {
console.log(error)
reject(error)
})
})
答案 0 :(得分:1)
尝试将main.vue更改为:
onClicked() {
this.$store
.dispatch('Clickme', this.data)
.then((response) => {
//Do whatever you want with your response
alert("Success");
})
.catch(() => {
alert("Error");
})
}
并将clicked.js更改为:
resolve(resp.data.data)
这将使诺言解决响应数据。
但是,如果您在商店中/使用vuex发出http请求,则可能要执行的操作是进行突变以将响应置于您的状态-然后从组件映射该状态。