从URL提取令牌并使用Axios发送发布请求-Vue js

时间:2020-09-19 09:30:47

标签: javascript vue.js vuejs2 axios

我一直在尝试从http://test.com/confirm?token=MMsndiwhjidh...中提取令牌,然后将发布请求发送到另一台服务器。

我已经尝试过了:

export default {
    data() {
        return {
            confirmation : false,
            somethingWrong: false       
        }
    },
    
    created: function() {
        axios.post('/confirm', null, {
            method: 'post',
            params: {
                token:this.$route.query.token
            }
        })
        .then(function(res) {
            console.log(res)
            this.confirmation = true       
        })
        .catch(function(error) {
            console.log(error)
            this.somethingWrong = true
        })
    }
}

我遇到以下错误:

Error log

Error log

我认为我无法正确提取令牌。

1 个答案:

答案 0 :(得分:2)

原因是您在then / catch块中使用了声明性函数而不是箭头函数。 this指的不是同一件事(这里this不是您的Vue组件)。

尝试这样:

.then((res) => {
    console.log(res)
    this.confirmation = true       
})

我不会尝试自己解释这种差异,因为网络上有很多关于它的文章。 Here's one