使用值数组重复函数

所以,我有以下js函数:

var name_list = names; //mike,steve,sean,roger jQuery.ajax({ type: "GET", url: custom.ajax_url, dataType: 'html', data: ({ action: 'some_function', name_list:name_list}), success: function(data){ alert('success') }); 

这里有一个变量,它包含一组值(“迈克,史蒂夫,肖恩,罗杰”分别用逗号表示)。

现在,我想使用第一个值来调用ajax(name_list = mike),一旦完成,我想用第二个值(name_list = steve)重复相同的ajax调用。

这是我的问题。

如何在变量中使用单个值,并在函数(ajax调用)成功时仅使用后续值?

谢谢!

这是一种方法:

 var name_list = ['mike','steve','sean','roger']; function recursive(list, done) { list = list.slice(); (function next() { var name = list.shift(); jQuery.ajax({ type: "GET", url: 'url', dataType: 'html', data: ({ action: 'some_function', name : name }), success: function(data) { console.log('success', name); } }).then(list.length ? next : done); }()); } recursive(name_list, function() { console.log('all done'); }); 

只是尝试用你想要的ajax创建一个函数并传递值,并在成功时再次运行ajax,直到达到数组的最后一个长度

 var name_list = names.split(','); //mike,steve,sean,roger var repeat_Ajax = function(i){ jQuery.ajax({ type: "GET", url: custom.ajax_url, dataType: 'html', data: { action: 'some_function', name_list:name_list[i]}, // no need for `( )` here success: function(data){ if(i !== name_list.length){ repeat_Ajax(i+1); alert('success'); } }); } repeat_Ajax(0); 

未经测试的代码,但我希望它能与您合作

我添加了一个按钮来演示它的工作原理,使用控制台观察。

     SerialArrayFeed