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