将变量提交到ajax调用循环中

时间:2014-07-31 19:54:18

标签: javascript closures

我使用这个循环读取一些网址来读取他们修改的时间:

for (var e in arr) {
        nodename=arr[e].hostname;
        node_json="/nodes/"+nodename;
        html +='<a href="'+node_json+'" target="_blank" id="host_'+nodename+'">data</a>';
        xhr[e] = $.ajax({
            url: node_json,
            success: function(response) {
                $('#host_'+nodename).append(xhr[e].url+": last modified: " + xhr[e].getResponseHeader("Last-Modified"));
            }
        });

    }

这已经有点了,我接到所有节点文件的调用,在Firebug中,我可以在调用的标题中看到不同的nodified时间。

但在我的代码中,我只得到修改了所有结果的最后一行。

如何在每个ajax调用中调用每个ID #host_'+nodename,以便将正确的答案添加到正确的位置?

AJAX电话来源:Get the modified timestamp of a file with javascript


编辑:

我现在尝试了这个:

        xhr = $.ajax({
            url: node_json,
            success: (function(nn) {
                $('#host_'+nn).append("last modified: " + xhr.getResponseHeader("Last-Modified"));
            })(nodename)
        });

但是这给了:

  

ReferenceError:xhr未定义
  $('#host _'+ nn).append(“last modified:”+ xhr.getResponseHeader(“Last-Modified”)...

0 个答案:

没有答案