axios.get响应未分配给变量

时间:2018-09-06 03:02:58

标签: vuejs2 axios

我已经研究这个问题一段时间了,但没有找到答案。 我正在使用axios.get返回userID。我得到正确的响应-执行userID时得到console.log(response.data);的数字,但是,当我尝试将response.data分配给局部变量以便返回时,它没有得到组。 (我还尝试在userID下全局定义data,然后将其引用为userID.this,但这没有帮助。) 我查看了其他答案,例如:Axios can't set data,但它们对我没有用。 任何帮助表示赞赏。提前致谢。 (下面的代码)

编辑:我也查看了这个问题:How do I return the response from an asynchronous call?,但它没有为我添加任何内容。它建议使用Promise和then块,但我已经做到了,但仍然无法正常工作。

  retrieveUserID: function()
{
   var userID=0;


this.axios.get('getUserID.php' , { 
  params: {
                  username: this.currentUser
          }  })

.then(response => {
            console.log("retrieveUserID:response.data = " + response.data);

            userID=response.data;
       } )
              .catch((error )=> {this.submitSessionFailure(error);});



   return userID ;  // staying zero

  }

1 个答案:

答案 0 :(得分:0)

尝试一下...

retrieveUserID: function()
{
  this.axios.get('getUserID.php' , { 
    params: {
      username: this.currentUser
    } 
  })
  .then(response => {
    var userID=0;
    console.log("retrieveUserID:response.data = " + response.data);
    userID=response.data;
   } )
  .catch((error )=> {this.submitSessionFailure(error);});
  return userID ;  // staying zero
}