Мне интересно, как лучше всего остановить дублирующиеся представления при использовании jquery и ajax?
Я придумываю 2 возможных способа, но не уверен, что это единственные 2.
При запуске Ajax отключите все кнопки, пока запрос не будет выполнен. 2 проблемы, которые я вижу с этим, хотя я использую диалог модели jquery, поэтому я не знаю, насколько легко было бы отключить эти кнопки, так как я не уверен, что у них есть идентификаторы. Во-вторых, если запрос зависает, у пользователя нет возможности повторить попытку, поскольку все кнопки отключены.
Сейчас я ищу что-то под названием AjaxQueue, и я понятия не имею, является ли это тем, что мне нужно или как оно работает, поскольку сайт, где плагин явно недоступен для обслуживания.
http://docs.jquery.com/AjaxQueue
Редактировать
Я думаю, что это ответвление от того, на что я смотрел.
http://www.protofunc.com/scripts/jquery/ajaxManager/
Единственная проблема, которую я вижу с этим ajaxManager, заключается в том, что я думаю, что мне нужно изменить все свои $ .post, $ .get и $ .ajax на их тип.
Но что произойдет, если мне понадобится специальный параметр из $ .ajax? Или тот факт, что мне нравится использовать .post и .get.
Редактировать 2
Я думаю, он может принимать все параметры $ .ajax. Я все еще смотрю на это. Однако сейчас я не уверен, могу ли я использовать один и тот же конструктор для всех запросов, которые будут использовать одни и те же параметры.
First you have to construct/configure a new Ajaxmanager
//create an ajaxmanager named someAjaxProfileName
var someManagedAjax = $.manageAjax.create('someAjaxProfileName', {
queue: true,
cacheResponse: true
});
Или я должен делать вышеперечисленное каждый раз?