HTTP请求的.then子句中的CORS错误

时间:2017-04-27 19:11:49

标签: javascript http cors vue.js

所以我使用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

}

1 个答案:

答案 0 :(得分:-1)

这可能实际上不是CORS问题。 this回调中的.then绑定到回调,而不是绑定到Vue实例。

要测试这个想法,请在注册函数的第一行执行此操作...

signup: function () {
  const vm = this
  ...

然后在回调中使用vm而不是this ...

.then(response => {
  ...
  vm.$router.push(...)

如果有效,请务必执行vm.pass_or_fail=response.body