Vue cookie设置为来自单独js文件的对象

时间:2019-06-07 08:37:17

标签: javascript vue.js

我在这里遇到一个问题,我的cookie设置为object object,而应该设置为token。我正在从单独的js文件中进行设置。

这是js文件,其中包含用于设置cookie的功能:

export const authenticate = (username, password) => {
    API.post('/login', {
        username: username,
        password: password
    }).then(response => {
        console.log(response.data.token)
        if(response.data.token) {
            Vue.cookie.set({'token': response.data.token});
            router.push({name: 'home'});
        } else {
            const error = 'Something went wrong. Try again.';
            return console.log({'error': error});
        }
    }).catch(error => {
        //error = 'Something went wrong. Try again.';
        return console.log(error);
    });    
}

console.log(response.data.token)这会记录我纯文本令牌。

,然后在Login.vue中调用此函数:

methods: {
    authenticateUser() {
        authenticate(this.username, this.password);
    }
}

cookie设置如下:[object Object]

2 个答案:

答案 0 :(得分:1)

所以@Lewis在评论中的答案起作用了!我使用了错误的语法。

代替Vue.cookie.set({'token': response.data.token});

需要使用:Vue.cookie.set('token', response.data.token);

答案 1 :(得分:0)

您用来处理Cookie的库的语法似乎很奇怪。

您可以尝试js-cookie进行如下处理,

import Cookies from 'js-cookie'
Cookies.set('token', response.data.token)