2012-06-24 4 views
0

Это не вопрос разрешения проблемы. Все, что я хочу, это выяснить общий способ блокировки одного и того же типа HTTP-запроса от одного и того же пользователя.Блокировать тот же запрос с того же сеанса сервера

Почему мне нужно это:

Когда пользователь нажимает на кнопку, с запросом на Ajax уходит, и возвращает результат через append();
Если пользователь нажимает на кнопку Twise (и если он делает это быстро),
Результаты, полученные из базы данных, прикручиваются, что плохо. НО, если пользователь нажимает на кнопку ПОСЛЕ того, как первый запрос получил ПОЛНОСТЬЮ обработанный, возвращенные результаты хороши!

Что я думаю, что я мог бы сделать:

1) Я мог бы сделать это через .js (переключая идентификатор или инвалидизирующих кнопки)
2) Я мог бы сделать это через PHP (я уверен, что есть набор функций для этого)
3) Или что throguh параметры сервера (но я почти ничего не знаю о тех!)

Итак, , что было бы лучшим способом заблокировать второй запрос HTTP от того же пользователя недо обрабатывается первый запрос?

Спасибо!

+3

Я думаю, что ваш первый вариант лучше всего ... отключите кнопку, прежде чем отправлять запрос ajax и на успех ajax после добавления содержимого снова включить его – Trey

+0

! но если сервер не возвращает результат слишком долго, кнопка останется отключенной. мы устанавливаем timelimit для ответа сервера через htaccess? –

ответ

1

Просто отключите кнопку или установите флаг, который включается после выполнения вашего обратного вызова.

Нет необходимости чрезмерно усложнять работу PHP или работать с сервером (не уверен, что вы подразумеваете под этим, хотя).

+0

сделаю! но если сервер не возвращает результат слишком долго, кнопка останется отключенной. мы устанавливаем timelimit для ответа сервера через htaccess? –

+0

http://api.jquery.com/jQuery.ajax/ Вы можете видеть, что у него есть тайм-аут. –

+0

oh нет, я имею в виду, как я могу сократить время ожидания для http responce? –

Смежные вопросы