Всякий раз, когда я запускаю Ajax в jquery, он запускается два раза.Это вызовет проблемы при сохранении данных.Я гуглил и использовал их методы, но ни один из них не работал.Ниже приведены способы, которые я попробовал:
Установить глобальный флаг.Включите его, когда Ajax работает, выключите его после завершения.Кажется, что дублированные вызовы управляют флагом одновременно.До того, как вызов 1 закрыл дверь, вызов 2 уже в кратчайшие сроки.Или проверьте время, если меньше 4000, не запускайте Ajax.
Генерация случайного числа и присоединение к URL, они всегда одинаковы.
event.preventPropgador (); e.preventDefault ();не работает в любом порядке
async: true или false не работает
Я не могу использовать «один раз», так как я использую jQuery Mobile
$ ("# submitButton"). Once ("tap", function () {// <- error save ();}); </p>
используется"один", но не работает
$ ("# submitButton"). one ("tap", function () {save ();});
отключитькнопка, когда ajax запущен, затем включите его после слов.
Я пробовал выше техники на вызовы save () и Ajax, ни один из них не работал.Это мой код как:
$(document).bind("pageinit", function () {
$("#submitButton").one("tap", function () {
save();
});
}
function save() {
$.ajax({method: "get",
url: baseUrl + "save?model=abcd&rand=" + randonNum(),
contentType: "application/json; charset=utf-8",
success: function (response) {
//do whatever
}
},
error: function (request, status, error, errorThrown) {
}
});
}