所以我使用this.router来更改客户端应用程序中的页面(应用程序正在与我构建处理身份验证的服务器进行通信)。不幸的是,当我在.then子句中执行router.push时,我的应用程序中遇到了CORS错误。但是,当我在.then子句之外使用router.push时,我没有收到任何错误。知道是什么导致了这个吗?
signup: function () {
this.$http.post('http://localhost:3000/signup?username='+this.username+'&password='+this.password+'&password2='+this.password2)
.then(response => {
if(response.body== "success"){
this.pass_or_fail=response.body;
// this.$router.push({name:'landing-page'}); this Gives me a CORS error
}
})
// this.$router.push({name:'landing-page'}); this works fine
}
答案 0 :(得分:-1)
这可能实际上不是CORS问题。 this
回调中的.then
绑定到回调,而不是绑定到Vue实例。
要测试这个想法,请在注册函数的第一行执行此操作...
signup: function () {
const vm = this
...
然后在回调中使用vm
而不是this
...
.then(response => {
...
vm.$router.push(...)
如果有效,请务必执行vm.pass_or_fail=response.body