已调度的负载转换为 [Object object]
Dispatched payload converted to [Object object]
每次调用 created()
挂钩时,我都会尝试验证 JWT 令牌:
在我的 App.vue:
async created() {
if (localStorage.getItem("currentUser") !== null) {
const token = JSON.parse(localStorage.getItem("currentUser")).token;
console.log(token); //[CORRECT TOKEN STRING]
await this.$store.dispatch("tryLogin", token);
}},
在我的 actions.js:
async tryLogin(context, payload) {
console.log(payload); //[CORRECT TOKEN STRING]
console.log(...payload); //(Spreding does not work)
return context.dispatch("verifyAuth", {
payload,
});
},
在我的 actions.js 的下方:
async verifyAuth(context, payload) {
console.log(`inside VerifyAuth ${payload}`); //[Converted to: [object Object]]
// Above log Output: inside VerifyAuth [object Object]
let url = baseURL + "verify-token";
var formdata = new FormData();
formdata.append("token", payload);
const response = await fetch(url, {
method: "POST",
headers: {
Accept: "application/json",
},
body: formdata,
redirect: "follow",
});
const responseData = await response.json();
}
出于某种原因,一旦我 return context.dispatch("verifyAuth", { payload, });
有效负载从实际存储的字符串(令牌)变为 [object Object]
我尝试传播产生相同结果的有效负载。
我也试过 JSON.parse(console.log("inside VerifyAuth: " + payload));
但没有成功
知道为什么会这样吗?
代码
context.dispatch("verifyAuth", {payload,});
调度一个对象,即{ payload: "the value of the variable payload" }
所以,要么:
context.dispatch("verifyAuth", payload);
或
async verifyAuth(context, {payload}) {
或
formdata.append("token", payload.payload);
每次调用 created()
挂钩时,我都会尝试验证 JWT 令牌:
在我的 App.vue:
async created() {
if (localStorage.getItem("currentUser") !== null) {
const token = JSON.parse(localStorage.getItem("currentUser")).token;
console.log(token); //[CORRECT TOKEN STRING]
await this.$store.dispatch("tryLogin", token);
}},
在我的 actions.js:
async tryLogin(context, payload) {
console.log(payload); //[CORRECT TOKEN STRING]
console.log(...payload); //(Spreding does not work)
return context.dispatch("verifyAuth", {
payload,
});
},
在我的 actions.js 的下方:
async verifyAuth(context, payload) {
console.log(`inside VerifyAuth ${payload}`); //[Converted to: [object Object]]
// Above log Output: inside VerifyAuth [object Object]
let url = baseURL + "verify-token";
var formdata = new FormData();
formdata.append("token", payload);
const response = await fetch(url, {
method: "POST",
headers: {
Accept: "application/json",
},
body: formdata,
redirect: "follow",
});
const responseData = await response.json();
}
出于某种原因,一旦我 return context.dispatch("verifyAuth", { payload, });
有效负载从实际存储的字符串(令牌)变为 [object Object]
我尝试传播产生相同结果的有效负载。
我也试过 JSON.parse(console.log("inside VerifyAuth: " + payload));
但没有成功
知道为什么会这样吗?
代码
context.dispatch("verifyAuth", {payload,});
调度一个对象,即{ payload: "the value of the variable payload" }
所以,要么:
context.dispatch("verifyAuth", payload);
或
async verifyAuth(context, {payload}) {
或
formdata.append("token", payload.payload);