vue結合jquery使用ajax請求的注意項


vue中使用ajax想改變值的時候,發現改變不了。原來是指示的this不同導致的。

getAdmin () {
      var that = this
      $.ajax({
        type: 'get',
        url: 'http://iis-server.XXX.com:9090/api/Add/GetClientUser',
        dataType: 'jsonp',
        jsonp: 'callback',
        jsonpCallback: 'Adduser',
        success: function (data) {
          var array = data.resultss.split('\\')
          var admin = array[array.length - 1]
          if (admin.length > 100) {
            // 保存到本地
            window.sessionStorage.setItem('admin', admin)
          } else {
            that.errDialogVisible = true
            console.log(this)
          }
        },
        error: function (xhr, textStatus, errorThrown) {
          that.errDialogVisible = true
        }
      })
    }

本想改變errDialogVisible的值為true ,結果發現改完之后errDialogVisible的值還是為false,原因是兩個this指示的內容不同導致的。

如果想改變值的話,就需要在ajax外部使用var that=this賦值給that,然后在ajax中使用that.errDialogVisible(如上面的代碼所示),就可以改變值了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM