为什么当我执行以下操作时会出现“太多的递归”错误?
function sendTheNames() {
alert("start submitting names..");
return function (array) {
var name = $(array.shift()).text();
$.ajax({
url: "test.jsp?name=" + name,
complete: function() {
if (array.length > 0) {
return arguments.callee(array);
}
}
});
};
}
$(document).ready(function() {
var selectedNames = [];
$('ul li input:checked').each(function() {
selectedNames.push($(this).parent());
});
alert("begin");
sendTheNames()(selectedNames);
alert("done");
});
有趣的问题,但这是一个非常奇怪的方式来编码它。普通循环不会更好吗?更好的是,POST请求? – deceze 2010-04-09 05:06:21
@deceze,以上只是一个简单的代码。业务逻辑要求我将数据一个一个地异步提交给服务器(每个请求一个数据)。我不能按照你的建议将它作为一堆数组提交给POST请求,我必须等待提交完成才能提交另一个请求。你是否有更简单的方法来做到这一点,而没有递归? – 2010-04-09 07:12:06