带有ajax的Javascript回调函数 [英] Javascript callback functions with ajax
问题描述
我正在编写一个通用函数,该函数将在我的脚本中的多个位置重复使用.
I am writing a generic function that will be reused in multiple places in my script.
该函数使用 ajax(使用 jQuery 库),所以我想以某种方式将函数(或代码行)传入该函数以在 ajax 完成时执行.我相信这需要是一个回调函数,但在阅读了一些回调答案后,我仍然对如何在我的案例中实现感到有些困惑.
The function uses ajax (using jQuery library) so I want to somehow pass in a function (or lines of code) into this function to execute when ajax is complete. I believe this needs to be a callback function, but after reading through a few callback answers I'm still a bit confused about how I would implement in my case.
我目前的功能是:
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 函数相同的方式工作,即;
With this function I want to be able to do something in the same way other jQuery functions work ie;
var parentENumber = E1-3;
getNewENumber(parentENumber, function(){
alert(//the number that is returned by getNewENumber);
});
推荐答案
只需给 getNewENumber
函数的另一个参数,然后将其用作回调.
Just give getNewENumber
another parameter for the function, then use that as the callback.
// 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 );
});
这篇关于带有ajax的Javascript回调函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!