爲什麼當我執行以下操作時會出現「太多的遞歸」錯誤?
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