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
ありがとう。