如何与AJAX响应一起传递额外的变量?

时间:2019-04-29 20:07:38

标签: javascript ajax function return

仅在收到AJAX响应后才需要运行一些代码,并且我需要将某个变量传递给目标函数以使其实现。

尝试了以下内容,但它不会触发.done函数,就像我们只返回ajax一样(不足为奇)。

function ajax_processor(passthrough_var,ordinary_var)
{
    //Some processing

    return [ passthrough_var, $.ajax({...}) ];
}

ajax_post_processor(array_item)
{
    console.log(array_item[0]);
    console.log(array_item[1]);
}

ajax_processor("Foo","Bar").done(ajax_post_processor);

1 个答案:

答案 0 :(得分:0)

ajax_processor返回一个promise,该promise解析为包含响应和传递的变量的数组。像

function ajax_processor(passthrough_var,ordinary_var)
{
    return $.ajax({...}).then(response => [passthrough_var, response]);
}

function ajax_post_processor(array_item)
{
    console.log(array_item[0]);
    console.log(array_item[1]);
}

ajax_processor("Foo","Bar").done(ajax_post_processor);