javascript - 在 jquery 的 $.get 回调函数中使用文件名

标签 javascript jquery ajax get

我使用$.get()函数来处理很多文件,我需要找出我在回调函数中调用的文件名。有办法做到这一点吗?

while (allFilesToImport.length > 0) {
    var fileToOperate = allFilesToImport.shift();
    var jqxhr = $.get(path + '/' + fileToOperate,
        function(data, textStatus, jqXHR){ // here I need the fileToOperate variable!});

最佳答案

您可以在函数内访问 fileToOperatemypathToTheFile - 这就是闭包很棒的原因之一。

这是一个带有循环的示例,以防万一您有:

var filenames = ['a', 'b', 'c'];
for(var i = 0; i < filenames.length; i++) {
    (function(filename) {
        $.get('whatever/'+filename, function(data) {
            // here you can use filename and it will point to the correct value
        });
    })(filenames[i]);
}

您还可以使用$.each()来迭代数组:

$.each(filenames, function(i, filename) {
    $.get('whatever/'+filename, function(data) {
        // here you can use filename and it will point to the correct value
    });
});

关于javascript - 在 jquery 的 $.get 回调函数中使用文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10382684/

相关文章:

javascript - 需要在 html 表格中进行简单易用的分页

javascript - 带有 Eclipse WTP 的 JQuery、Java Servlet 示例

javascript - 连续滚动。 AJAX、PHP、JAVASCRIPT、MYSQL

javascript - 在 mvc3 中更改 @Html.TextboxFor 的 onchange 事件的标签文本

javascript - 如何在 emberjs 中使用 salvattore

javascript - 如果未指定文件上传,Google Apps 脚本中会出现错误

javascript - 单击复选框时,将其值添加到文本框值

javascript - 如何在 javascript 中乘以空格以便在 ActiveX FSO Write() 方法中使用

Javascript:如果对象内另一个元素高于 X 像素,则为该元素添加边距。页面上有多个对象

javascript - 无法让 jquery click 事件在 ajax 生成的 HTML 上工作