1. 程式人生 > >Vue中ajax返回的結果賦值

Vue中ajax返回的結果賦值

實例 ans http msg tps ces com nsh eat

這是第二次在項目中遇到此問題,ajax請求成功後在success函數中為Vue實例data裏的變量賦值,卻失敗了

new Vue({
    el:'#app',
    data:{
        msg:''
    },
    created:function(){
        $.ajax({
            url:'',  
            data:'',
            dataType:'json',
            success:function(res){
                this.msg = res.data;
            }   
        })
    }
})

原因在於在ajax的success函數中,this的指向不再是vue的實例
解決辦法可以先把this保存起來

new Vue({
    el:'#app',
    data:{
        msg:''
    },
    created:function(){
        var that = this;
        $.ajax({
            url:'',  
            data:'',
            dataType:'json',
            success:function(res){
                that.msg = res.data;
            }   
        })
    }
})

參考資料

Vue中ajax賦值問題

Vue中ajax返回的結果賦值