Zak*_*nry 7 javascript ajax jquery callback
我正在编写一个通用函数,它将在我的脚本中的多个位置重用.
该函数使用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);
}
});
}
Run Code Online (Sandbox Code Playgroud)
有了这个函数,我希望能够像其他jQuery函数一样工作,即;
var parentENumber = E1-3;
getNewENumber(parentENumber, function(){
alert(//the number that is returned by getNewENumber);
});
Run Code Online (Sandbox Code Playgroud)
只需getNewENumber为该函数提供另一个参数,然后将其用作回调.
// receive a function -----------------v
function getNewENumber( parentENumber, cb_func ){
$.ajax({
type: "POST",
url: "get_new_e_number.php",
data: {project_number: projectNumber, parent_number: parentENumber},
// ------v-------use it as the callback function
success: cb_func,
error: function(request,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 );
});
Run Code Online (Sandbox Code Playgroud)