2010-12-07 4 views
2

Ich weiß, dass irgendeine Art von Rückruf-Konzept ist, haben aber keine Ahnung, wie das zu tun.eine Funktion auszuführen, wenn die Erfolgsdaten in Jquery Ajax kam

$.ajax({ 
     'url': '/test/', 
     'type': 'POST', 
     'data': {'age': age}, 
     'dataType': 'html', 
     'success': function(data, textStatus, xhr) { 

     //I want when the data arrives, then execute another function, because the function is too big to place here. 

     } 

}); 

Antwort

2

Wenn Sie nur eine andere Funktion auszuführen, mit den Daten als Parameter übernehmen, dies tun:

$.ajax({ 
    'url': '/test/', 
    'type': 'POST', 
    'data': {'age': age}, 
    'dataType': 'html', 
    'success': myFunction 
}); 

//then, defined anywhere that's in scope: 
function myFunction(data) { 
    //do something with data 
} 

Wenn Sie dann Anruf einige Arbeit tun müssen, diese Funktion ... genau das tun:

$.ajax({ 
    'url': '/test/', 
    'type': 'POST', 
    'data': {'age': age}, 
    'dataType': 'html', 
    'success': function(data) { 
    //do stuff... 
    myFunction(data); 
    } 
}); 
+0

also was ist das signa der myFunction? – user469652

+0

@ user469652 - genau wie ich es oben haben, die gleiche Signatur wie die [docs für die 'success' Rückruf haben] (http://api.jquery.com/jQuery.ajax/):' func (Daten, textStatus, XMLHttpRequest) ', wenn Sie die anderen Parameter nicht benötigen, haben Sie einfach eine für' Daten' wie oben. –

Verwandte Themen