Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: ajax
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » ajax

Страниц (1): [1]
 

1. nordghost - 04 Апреля, 2013 - 20:52:48 - перейти к сообщению
Есть сайт На нём есть ajax фильтр - слева вот так он работает:

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. function send_query(param_name, param_value){
  4.                
  5.                 $.ajax({
  6.                           type: 'POST',
  7.                           cache: true,
  8.                           async: true,
  9.                           url: url+'index.php/catalog/add_filter',
  10.                           data: param_name+'='+param_value,
  11.                           success: function(data){
  12.                                 $('.listing').load(url+"index.php/catalog/content");
  13.                           }
  14.                         });            
  15.         }
  16.  
  17.  


Дело в том что если например быстро клацнуть на 2 фильтра то сайт подвисает на пару секунд, как это всё можно оптимизировать?
2. biperch - 04 Апреля, 2013 - 22:15:53 - перейти к сообщению
ну на пример можно использовать всего один запрос ajax а у вас два отправляется при нажатии
(Добавление)
я бы в вашем случае сделал блокировку пока одно нажатие не обработается второе не разрешать
3. tuareg - 04 Апреля, 2013 - 22:34:23 - перейти к сообщению
Один запрос типа $.getJSON() это раз
и убрать async: true это два (из-за этого и подвисает)
И посмотреть как используется $.ajax.abort(); Это если кратко Улыбка
4. nordghost - 04 Апреля, 2013 - 23:20:07 - перейти к сообщению
Спасибо буду пробовать!

 

Powered by ExBB FM 1.0 RC1