我在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
返回一个未定义对象的数组。
只是寻找一些关于我是采取正确方法还是遗漏一些简单方法的指导,或者如果我需要改变我的方法,任何指针都会受到赞赏。