使用$ .post并将返回函数作为变量传递给其他参数

时间:2016-11-30 21:41:03

标签: javascript jquery

我有一个主要的帖子功能,我用于所有的帖子调用:

function post_json(post_string, response_handler) {
    //
    // do logging and other things with post string
    //
    $.post(post_string,{},response_handler,'json');
}

然后我将在各个页面中使用此调用:

post_json(post_url, handler_generic); 

handler_generic函数是这样的:

function handler_generic(json) {       
    var success = json.success;
    var success_verbiage = json.success_verbiage;
    // do lots of stuff here   
}

这完美无缺。

我想做的是拥有这样的功能:

function handler_generic_with_extra(json, unique_id) {       
    var success = json.success;
    var success_verbiage = json.success_verbiage;
    // do lots of stuff here and now do it with the 
    // unique id  
}

我认为这些不起作用,他们不会:

 post_json(appended_post_string, handler_generic_with_extra( the_unique_id));

 post_json(appended_post_string, handler_generic_with_extra( json, the_unique_id));  

如果没有创建新的post_json函数来处理这些情况,有什么方法可以实现这个目的吗?

1 个答案:

答案 0 :(得分:1)

使用闭包:

post_json(appended_post_string,function(json){return handler_generic_with_extra( json, the_unique_id); });