methods: {
getCookie (name) { /// Retrieve cookie function
match = document.cookie.match(new RegExp(name + '=([^;]+)'));
if (match) return match[1];
return
},
handleLoginFormSubmit () {
const postData = {
username: this.login.username,
password: this.login.password
}
const servicegroupid = getCookie("servicegroupid") ///Call cookie function assign to var
const authUser = {}
this.$http.post(loginUrl + "/" + servicegroupid, postData, {emulateJSON: true}) /// Pass variable into request
.then(response => {
if (response.status === 200) {
console.log('session', response)
authUser.auth = response.data.auth
authUser.sgid = response.data.sgid
authUser.user = this.login.username
window.localStorage.setItem('authUser', JSON.stringify(authUser))
this.$store.dispatch('setUserObject', authUser)
this.$router.push({name: 'dashboard'})
}
})
}
}
尝试检索cookie,将其分配给变量,并将其传递给请求。得到很多未定义的。
Vuex,资源和路由器都运行正常。
获取错误:
未定义getCookie
如果我试图从方法块中拉出函数,我得到
匹配未定义
非常感谢任何帮助。
答案 0 :(得分:2)
更改
const servicegroupid = getCookie("servicegroupid")
到
const servicegroupid = this.getCookie("servicegroupid")
这是你组件的一种方法。