我在 javascript 事件的时间安排上遇到了一些问题。我遇到的问题是代码的一部分似乎在另一部分代码完成之前正在执行。我需要确保第一个代码在后一个代码开始之前完成。这是初始代码:
function(){
myLoop(); //this needs to complete before the call to myMethod below
$.ajax({
url: sURL + "myController/myMethod",
success: function() {
$.msg("My Success Message",{live:10000});
error: function(){
$.msg("My Error Message",{live:10000});
});
}
这是循环并将记录插入数据库的代码:
function myLoop(){
$('input[name=c_maybe].c_box').each(function(){
if( $(this).prop('checked') ){
var rn = $(this).prop('value');
$.ajax({
url: sURL + 'myController/myInsert',
type:"POST",
dataType: 'text',
data: {'rn': rn},
success: function(data) {
//not sure what to do on success.
}
});
}
});
}
似乎正在发生的问题myController\myMethod
是在myLoop
完成将所有记录插入数据库之前发生调用。
有人可以为我建议一种重新设计此代码的方法,以便我可以确保在完全完成myController\myMethod
之前不会调用它?myLoop
谢谢。