ajax()函数,在每个()内推送对数组的响应,异步

时间:2017-03-24 13:54:28

标签: jquery ajax asynchronous each

我在each()循环中有一个ajax请求。

我的第一个问题是每个循环之外的代码在每个()循环完成(异步)之前执行。

我用这里提到的方法解决了这个问题: https://stackoverflow.com/a/17904856/1560199

每个循环现在将每个ajax响应 Object 推送到数组,并在完成后根据需要继续。

我遇到的问题是我似乎无法直接在ajax对象上使用responseJSON:

$comment_response_array = [];
$.each($message_id_array, function(message_key, message_id){
   $comment_response_array.push($.fn.get_comments(message_id, $last_refresh).responseJSON);
});

$ .fn.get_comments最终通过此ajax请求进行映射:

$.fn.ajax_request = function($method, $ajax_file, $data) {
    return $.ajax({
        'type': $method,
        'url': '../../ajax/' + $ajax_file + '.php',
        'data': $data,
        'dataType': "json"
    });
};

这样,$comment_response_array返回一个未定义对象的数组。

只是寻找一些关于我是采取正确方法还是遗漏一些简单方法的指导,或者如果我需要改变我的方法,任何指针都会受到赞赏。

0 个答案:

没有答案