私のSenchaTouch2アプリには、ボタンのクリックでAJAXリクエストを行う場所がいくつかあります。それはかなり標準的なものです:
console.log('Saving Billing Item at' + strURL);
Ext.Ajax.request({
url: strURL,
method: 'GET',
success: function (result, request) {
var resultJson = Ext.decode(result.responseText);
console.log('Response from Saving BillingItem:' + result.responseText);
data = Ext.decode(result.responseText);
if(data.ErrorMessage.indexOf("successfully") == -1) {
Ext.Msg.alert('Error!', 'Error saving Billing Item:' + data.ErrorMessage);
} else {
Ext.StoreMgr.get('BillingItemList').load();
Ext.ComponentManager.get('MainMenu').animateActiveItem(23, {
type: 'slide',
direction: 'right'
}); //back to list
}
Ext.ComponentManager.get('BillingItemSaveButton').setDisabled(false);
},
failure: function (result, request) {
Ext.Msg.alert('Error!', 'There was a problem while saving the Billing Item. Please check your input and try again.');
Ext.ComponentManager.get('BillingItemSaveButton').setDisabled(false);
}
});
ただし、リクエストはサーバーに2回送信されています。
-タップイベントは間違いなく一度だけ発砲されます!
-strURLのURLを手動で参照すると、サーバー側の関数が1回だけ起動されるため、サーバー側の関数ではないように見えます。
ただし、(URLを除いて、同じですが)アプリの他の場所でのajaxリクエストは1回だけ発生し、違いはわかりません。
これを追跡するにはどうすればよいですか?