以下のように、JQMアプリで2つの異なるajaxリクエストがあります。最初のページはページフォームの送信で実行され、データがデータベースに書き込まれ、アラートが表示されます。その後、ユーザーは同じシーケンスが発生する次のページにリダイレクトされます。
最初のリクエストは正常に機能しますが、2番目のリクエストは2回実行されます(アラートは2回表示され、データベースは2回書き込まれます)。3番目のリクエストを追加すると、3回実行されます。複数の実行を防ぐにはどうすればよいですか?
$(document).live('pagebeforeshow', function () {
$("#Step1").click(function(){
var formData = $("#step1").serialize();
$.ajax({
type: "POST",
url: "scripts/script.php?type=Step1",
cache: false,
data: formData,
success: function(data) {
if(data.status == 'success') {
alert('success Step1');
//When finished redirect to the next step
$.mobile.changePage('#Step2', {transition: "slideup"});
}
else if(data.status == 'error') {
alert('error');
$("#notification").text(data.message);
}
},
//error: onError
});
return false;
});
$("#Step2").click(function(){
var formData = $("#step2").serialize();
$.ajax({
type: "POST",
url: "scripts/script.php?type=Step2",
cache: false,
data: formData,
success: function(data) {
if(data.status == 'success') {
alert('success Step2');
//When finished redirect to the next step
$.mobile.changePage('#Step3', {transition: "slideup"});
}
else if(data.status == 'error') {
alert('error');
$("#notification").text(data.message);
}
},
//error: onError
});
return false;
});
});