带有 ajax 的 Javascript 回调函数

标签 javascript jquery ajax 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);
                }
        });
    }

有了这个函数,我希望能够像其他 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",
           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 回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4988277/

相关文章:

javascript - 需要在 JS 和/或中重述左侧?

javascript - 停止 .toFixed 舍入数字

javascript - 使用 HTML 表格和 CSS3 显示元素状态

jquery - jQuery 数据表中未显示分页

ajax - Jasmine 模拟ajax与JSON

javascript - 使用 ReactJS 显示多维数组

javascript - 日期选择器的 ngMaterial 在 Angular JS 中不起作用

javascript - Jasny 多文件上传与其他表单元素

jQuery.ajax 事件在 IE8 中无法正确触发(加载 Fiddler 时除外)

javascript - 如何让piwik跟踪ajax调用?