我正在编写一个通用函数,它将在我的脚本中的多个位置重用.
该函数使用ajax(使用jQuery库),所以我想以某种方式将一个函数(或代码行)传入此函数,以便在ajax完成时执行.
我认为这需要一个回调函数,但在阅读了几个回调的答案后,我仍然对我将如何实现我的情况感到困惑.
我目前的职能是:
- function getNewENumber(parentENumber){
- $.ajax({
- type: "POST",url: "get_new_e_number.PHP",data: {project_number: projectNumber,parent_number: parentENumber},success: function(returnValue){
- console.log(returnValue);
- return returnValue; //with return value excecute code
- },error: function(request,error) {
- alert('An error occurred attempting to get new e-number');
- // console.log(request,error);
- }
- });
- }
使用此函数,我希望能够以与其他jQuery函数相同的方式执行某些操作,即;
- var parentENumber = E1-3;
- getNewENumber(parentENumber,function(){
- alert(//the number that is returned by getNewENumber);
- });
只需给getNewENumber函数另一个参数,然后使用它作为回调.
- // receive a function -----------------v
- function getNewENumber( parentENumber,cb_func ){
- $.ajax({
- type: "POST",// ------v-------use it as the callback function
- success: cb_func,error) {
- alert('An error occurred attempting to get new e-number');
- // console.log(request,error);
- }
- });
- }
- var parentENumber = E1-3;
- getNewENumber(parentENumber,function( returnValue ){
- alert( returnValue );
- });