Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript I';我试图在验证后进行模板渲染时获取数据,但请求返回401(未经授权)_Javascript_Vue.js - Fatal编程技术网

Javascript I';我试图在验证后进行模板渲染时获取数据,但请求返回401(未经授权)

Javascript I';我试图在验证后进行模板渲染时获取数据,但请求返回401(未经授权),javascript,vue.js,Javascript,Vue.js,我试图在验证后模板呈现时获取数据,但请求返回401(未经授权)。。。当我刷新页面时,数据被加载 登录时: 得到http://localhost:0666/core/user/ 401(未经授权) 刷新页面时: Login.vue 有一个表单可以提交用户和密码 <script> import { mapActions } from 'vuex' export default { data: () => ({ form: { username: '',

我试图在验证后模板呈现时获取数据,但请求返回401(未经授权)。。。当我刷新页面时,数据被加载

登录时: 得到http://localhost:0666/core/user/ 401(未经授权)

刷新页面时:

Login.vue 有一个表单可以提交用户和密码

<script>
import { mapActions } from 'vuex'

export default {
  data: () => ({
    form: {
      username: '',
      password: ''
    }
  }),
  components: {},
  methods: {
    ...mapActions('auth', ['ActionDoLogin']),
    async submit () {
      try {
        await this.ActionDoLogin(this.form)
        this.$router.push({ name: 'Dashboard' })
      } catch (err) {
        alert(err.data ? err.data.message : 'Não foi possivel fazer login')
      }
    }
  }
}
</script>
services.js

export default {
  login: { method: 'post', url: 'api-token-auth/' },
  loadSession: { method: 'get', url: 'core/user/' }
}

这可能是什么原因造成的?帮帮我…

这不是解决方案,而是“解决”了我的问题

在Login.vue中,我发送一个参数p:true

<script>
import { mapActions } from 'vuex'

export default {
  data: () => ({
    form: {
      username: '',
      password: ''
    }
  }),
  components: {},
  methods: {
    ...mapActions('auth', ['ActionDoLogin']),
    async submit () {
      try {
        await this.ActionDoLogin(this.form)
        this.$router.push({ name: 'Dashboard', params: { p: true } })
      } catch (err) {
        alert(err.data ? err.data.message : 'Não foi possivel fazer login')
      }
    }
  }
}
</script>
我仍然在寻找最好的解决方案,但暂时这已经足够了

export default {
  login: { method: 'post', url: 'api-token-auth/' },
  loadSession: { method: 'get', url: 'core/user/' }
}
<script>
import { mapActions } from 'vuex'

export default {
  data: () => ({
    form: {
      username: '',
      password: ''
    }
  }),
  components: {},
  methods: {
    ...mapActions('auth', ['ActionDoLogin']),
    async submit () {
      try {
        await this.ActionDoLogin(this.form)
        this.$router.push({ name: 'Dashboard', params: { p: true } })
      } catch (err) {
        alert(err.data ? err.data.message : 'Não foi possivel fazer login')
      }
    }
  }
}
</script>
mounted () {
    LoadSession.get().then(resp => {
      this.user = resp.data
    })
    if (this.$route.params.p) {
      this.$route.params.p = false
      location.reload()
    }
}