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(如上面的代码所示),就可以改变值了。

 

posted @ 2020-05-07 09:37  masha2017  阅读(2955)  评论(0编辑  收藏  举报