我正在编写一个处理 mysql 到 mongodb 的 Sql 转换器。我正在用 ajax 为我的转换器编写一个接口。
Ajax 正在处理巨大的转换。这限制了 mysql 选择代码并一次进行 1000 次转换。
我的代码是:
$(document).ready(function()
{
<!--Start JQuery Ajax Requests-->
var pages;
var type;
$("input").click(function(event) {
pages = $(this).attr("icr");
type = $(this).attr("id");
runRequest(0);
});
function runRequest(num){
if (num > 3){
$("#console").append("Finish!!!");
return;
}
$.ajax
({
type: "POST",
url: "#",
async: false,
data: "type="+type+"&page="+num*1000,
success: function(msg){
$("#console").ajaxComplete(function(event, request, settings)
{
$("#console").append(msg);
runRequest(num+1);
});
}
});
}
});
此代码必须运行 3 次相同的函数并通过乘以发送限制数。但不知何故,runRequest 的 num 变量永远不会达到 3,firebug 控制台将 num 显示为 1 或有时为 2,并且它会无限重复。如何避免它并使其仅运行 3 个同步调用?