2017-09-01 35 views
0

我對自我調用函數有點迷茫,我曾經做過一個http.get函數來得到這樣(工作)從一個JSON數據:如何做一個自我調用的AJAX文章?

var Callmodule = (function(){ 
var urljsonEntrata= "modello.json"; 

function getmodules(){ 
    var req = $.ajax({ 
     url: urljsonEntrata, 
     dataType: 'json', 
     type: 'GET' 
    }); 

    req.done(function(data){ 
     console.log('ajax to '+urljsonEntrata+' DONE'); 
     console.log(data); 
     console.log('-----------------------------'); 
    }); 

    req.fail(function(jqXHR, textStatus, errorThrown) { 
     console.log('ajax to '+urljsonEntrata+' FAIL'); 
     console.log(jqXHR); 
     console.log(textStatus); 
     console.log(errorThrown); 
     console.log('-----------------------------'); 
    }); 
    return req; 
} 
return { 
    callGetmodules : getmodules(), 
} 
})(); 

我已經這樣做了,因爲我想使用它在vue.js應用程序,我已經以這種方式調用它:

methods:{ 
getModuleData : function(){    
    var req = Callmodule.callGetmodules; 
    var self = this; 
    req.done(function(data){ 
     self.modello=data; 
     self.isLoading=false; 
    }); 
    req.fail(function(jqXHR,textStatus,errorThrown){ 
     console.log('richiesta andata a male') 
    }); 
} 

現在我用同樣的方法都試過了http.POST,只是它不工作

var PostModule = (function(datadapostare){ 
var PostUscita= "http://www.website.com/filephp.php"; 
var datapost = datadapostare 
function postquote(){ 
    var req = $.ajax({ 
     type: 'POST', 
     url: PostUscita, 
     data: datapost, 
     dataType: 'json', 
    }); 

    req.done(function(data){ 
     console.log('ajax to '+PostUscita+' DONE'); 
     console.log(data); 
     console.log('-----------------------------'); 
    }); 

    req.fail(function(jqXHR, textStatus, errorThrown) { 
     console.log('ajax to '+PostUscita+' FAIL'); 
     console.log(jqXHR); 
     console.log(textStatus); 
     console.log(errorThrown); 
     console.log('-----------------------------'); 
    }); 
    return req; 
} 
return { 
    Postmodules : postquote(), 
} 
})(); 

,並在這裏,我將它張貼的方式(認爲它包裹在裏面vuejs方法):

postData : function(){    
var req = Postmodule.Postmodules; 
var self = this; 
req.done(function(data){ 
    self.modello=data; 
    self.isLoading=false; 
}); 
req.fail(function(jqXHR,textStatus,errorThrown){ 
    console.log('richiesta andata a male') 
}); 

}

爲什麼它不會做去?並在哪種方式,我必須傳遞數據對象發佈?

預先感謝您

+0

那是因爲你沒有傳遞任何一個更簡單的API數據?你的'datadapostare'和'datapost'變量將在你的Postmodule.Postmodules請求中返回'undefined'。 – Terry

回答

0

我會建議使用VUE資源或Axios公司來處理HTTP請求,它相對於使用jQuery庫

相關問題