liujun

2626 经验值

我用的最基本的vuex方法就成功了:


this.$store.dispatch('login',data)
                .then(response=>this.$router.push({name:'profile'}))
                .catch(error=>console.log(error.response.data));

export default {
state:{
    name:null,
    email:null,
    authenticated:false

},
mutations:{
    login(state,payload){
        state.authenticated=true;
        state.name=payload.name;
        state.email=payload.email;
    }
},
actions:{
    login({commit},payload){
        axios.post(`http://vue-spa/api/login`,payload)
            .then(response=>{

                Cookie.setToken(response.data.access_token);

                commit('login',{email:payload.email,name:response.data.name})
            })
    }
}

}

this.$store.state.module名.xxx---必须要加module名

一开始好像是没写 准备看错误的 结果后面又写了 哈哈哈

我也很奇怪 没有加模块名竟然还能拿到数据

proxy里面的返回cookie的httponly好像是默认的,后面的null,false等都不要写吧

我看github上有用vuex做的login功能,那个好像简单点

1.v-validate里面不需要写rule了,参照github;
2,bootstrap4里面已经取消了has-error等,换成了invalid-feedback和 valid-feedback

后端返回的数据如果是数组的话,laravel会自动转成json格式,不需要用response()->json()了吧

用laravel的官方插件cors就可以解决,不要相信网上的 ,又重复造轮子