同じAjax.Request関数の複数のインスタンスを呼び出すのに問題があります。(私はPrototypeフレームワークを使用しています)。関数は次のとおりです。
function send_SMS(id)
{
status_id = 'status_link_' + id;
new Ajax.Request('sendSMS.php',
{
method:'post',
parameters: {link_id: id},
onCreate: function(){
$(status_id).update("sending...");
},
onSuccess: function(transport){
if (transport.responseJSON.success) {
$(status_id).update("sent");
} else {
$(status_id).update("unable to send");
}
},
onFailure: function(){
$(status_id).update("unable to send");
}
});
}
この関数を2つの異なるID番号で2回呼び出すと、次のようになります。
send_SMS("1");
send_SMS("2");
2番目のIDのみがonSuccess関数によって更新されます。sendSMS.phpファイルは2回正常に実行されます(名前が示すように、SMSメッセージを送信し、実際に2つのメッセージが正常に送信されます)が、onSuccess関数は2回目しか呼び出されないようです。
javascriptは2つのインスタンスを混乱させていますか?