どんなエラーが出ているのか
do not mutate vuex store state outside mutation handlers.
Cannot stringify a function data
エラー部分の説明
state.token = token;
この部分のtokenは、DataBase(mysql)から取得したものをLarevelを通して取得しているものです。
Laravel側では、Jsonをエンコードした状態でJsonとして渡しております。
関数データは文字列に直すことができないというエラーも見受けられるのですが
関数データとは、どういうことなのでしょうか?
そもそもStateへのアクセス方法が違うのでしょうか?
ご教授お願い致します!
コードの紹介
Vue
1import Vue from 'vue' 2import Vuex from 'vuex' 3import axios from 'axios' 4 5 6//data 7export const state = () => ({ 8 data() { 9 token: "Nothing" 10 } 11}) 12 13//method 14export const mutations = { 15 setToken(state,UserInfo){ 16 17 var parm = new URLSearchParams() 18 parm.append('user_name',UserInfo.user_name) 19 parm.append('user_pass',UserInfo.user_pass) 20 21 console.log(UserInfo.user_name) 22 console.log(UserInfo.user_pass) 23 24 axios.post('/api/login',parm).then(function(response){ 25 var {token} = response.data.token 26 27 console.log(token) 28 29 if (token == "Nothing"){ 30 //ログインエラー 31 state.token = "Nothing" 32 }else{ 33 //ログイン認証完了 34 state.token = token <ここでエラーがでる 35 } 36 37 })//axios 38 39 } 40} 41 42export const getters = { 43 getToken (state) { 44 console.log(state.token) 45 return state.token 46 } 47}
回答1件
あなたの回答
tips
プレビュー