weixin_33675507 2016-12-14 11:46 采纳率: 0%
浏览 71

jQuery模块化Ajax调用

Can someone shed a light on this, so I have multiple GET ajax calls and its only a few lines of codes but I'm basically repeating $.ajax({}) on every function.

Can I have 1 function of $.ajax({}) instead and use this on the functions so I don't need to repeat $.ajax({}) every time?

Something like this maybe but I'm sure its not right but its just a concept.

function ajaxCall(url, method) {
 $.ajax({
   url: url,
   method: method,
   success: function(){ } // however this should come in the below function
 })
}

function firstCall() {
 var url = 'www.urlsample.com';
 var methodType = 'GET'
 ajaxCall(url, methodType).success() // get the data from this function?

}

Is this somehow possible to do? its to avoid repeating ajax call for every function.

  • 写回答

1条回答 默认 最新

  • 狐狸.fox 2016-12-14 11:51
    关注

    jQuery's .ajax() method returns a Promise-Wrapper.

    function ajaxCall(url, method) {
     // return promise
     return $.ajax({
       url: url,
       method: method
     });
    }
    
    function firstCall() {
     var url = 'www.urlsample.com';
     var methodType = 'GET'
     ajaxCall(url, methodType).then(function( result ) { 
         // success handler
     }, function( error ) {
         // error handler
     });
    }
    
    评论

报告相同问题?