在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python  HTML/ vue中axios取數(shù)據(jù)的問題

vue中axios取數(shù)據(jù)的問題

業(yè)務(wù)場景:
點擊登錄的時候獲取token的問題,等登錄后有了token之后在加載字典編碼表(加載編碼標(biāo)表的時候需要有token)

攔截器的寫法
main.js

clipboard.png

點擊登錄按鈕的方法

    const params = Object.assign({}, this.login_form);
    if(params.username == null || params.username.trim() == ''){
      this.$message.error('用戶名不能為空');
      return;
    }
    if(params.password == null || params.password.trim() == ''){
      this.$message.error('密碼不能為空');
      return;
    }
    debugger
    login_axios(params).then((res) => {
      debugger;
      if(res.data.code == 1){
        this.$message.error(res.data.msg);
        return;
      }
      sessionStorage.setItem("loginUser", JSON.stringify(res.data));
      sessionStorage.setItem("token", res.data.token);
      console.log(sessionStorage.getItem("token"));
    debugger
      let eae007 = res.data.eae007;
      if(eae007 == "101"){
        debugger
        this.$router.push({path: '/blank',params:{}});
      }else if(eae007 == "102"){
        debugger
        this.$router.push({path: '/blank',params:{}});
      }else if(eae007 == "104" || eae007 == "109"){
        debugger
        this.$message({
          message: '恭喜你,登錄成功',
          type: 'success',
          duration:1000
        });
        setTimeout(() => {
          this.$router.push({path: '/teacher',params:{}});
        },1500)
      }
    }).catch((err) => {
      this.$message.error('請求失敗');
      console.log(err);
    });

    //加載字典編碼表
    select_code_axios({}).then((res) => {
      console.log(res);
      var codeArray = res.data.resultMap.code;
      for(var i=0;i<codeArray.length;i++){
        var one = codeArray[i];
        one.value = one.epa902;
        one.label = one.epa903;
      }
      sessionStorage.setItem("selectCode", JSON.stringify(codeArray));
    }).catch((err) => {
      console.log(err);
    });
  }

這種寫法我debugger的時候第一次的時候在攔截器那邊取到的token的值是null,請問怎么解決。然后這個方法里面的if和else if中不管eae007是什么值都會走到debugger,用的谷歌瀏覽器調(diào)試~~

其中:login_axios和select_code_axios這個我是這么寫的

clipboard.png
請問我這么寫是否有問題要怎么改進(jìn)?還有為什么調(diào)試的時候不管eae007是什么值都會進(jìn)if那個判斷但是條件是false也會進(jìn)debugger。

回答
編輯回答
壞脾滊

是不是因為你的登錄和你的加載字典編碼表兩個請求是同時執(zhí)行的,可否用 async/await 等登錄完成后再加載字典編碼器。還有你請求的第一個接口時登錄,攔截器里面的 token 就是 null 吧,只有你登錄成功了接口才會返回 token , 你才會放到 sessionStorage 中去。

2018年3月7日 06:48