Мне интересно, как лучше всего прекратить дублирование представлений при использовании jquery и ajax?
Я придумываю 2 возможных способа, но не уверен, что это только 2.
-
В Ajax start отключите все кнопки до завершения запроса. 2 проблемы я вижу с этим, хотя я использую диалог модели jquery, поэтому я не знаю, как легко было бы отключить эту кнопку, поскольку я не уверен, что у них есть идентификаторы. Во-вторых, если запрос зависает, у пользователя действительно нет возможности повторить попытку, так как все кнопки отключены.
-
Я смотрю на то, что называется AjaxQueue, в это время я не знаю, что мне нужно и как он работает с сайта, где плагин, по-видимому, работает для обслуживания.
http://docs.jquery.com/AjaxQueue
Edit
Я думаю, что это отскок от того, что я смотрел.
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
});
Или мне нужно сделать это выше каждый раз?