Покинул форум
Сообщений всего: 195
Дата рег-ции: Июль 2012
Помог: 0 раз(а)
Построил весь сайт на ajax, пришло время рефакторинга, сделать красивый код.
Подскажите пожалуйста, как лучше всего работать с ajax.
На сайте очень много функций работает на js, и везде приходится тягать полный $.ajax({}), со всеми обработками ошибок и тп. Очень много кода повторяется, к примеру:
функции
.error()
.complete()
подскажите какой-то оптимальный способ размещать ajax запросы в коротенькие функции
DeepVarvar
Отправлено: 04 Июня, 2013 - 05:42:18
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
<!--error--><b>Parse error</b>: syntax error, unexpected T_STRING in <b>X:\home\jstest.ru\www\js.php</b> on line <b>4</b><script language=JavaScript src='/denwer/errors/phperror_js.php'></script>
Можно ли как-то отловить код ошибки или лучше сделать проверку на json (если вернулся не json, возникла ошибка )?
armancho7777777
Отправлено: 04 Июня, 2013 - 10:34:51
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Покинул форум
Сообщений всего: 195
Дата рег-ции: Июль 2012
Помог: 0 раз(а)
ого, это уже серьезно. В моем случае не нужно парсить код ошибки полученные от php. Достаточно сказать, что возникла ошибка и направить к администратору.
Цитата:
dataType : 'json'
да, да это пока пример разбираем.
Цитата:
Есть для этого функции $.get() и $.post().
а в любом случае, если обработчики понавешивать, функции разрастутся, вот для этого и хочу вывести для себя оптимальный способ для создания подобных функций.
У меня в проекте почти все строится на ajax запросах и мало того, я еще обрабатывал коды ошибок в этой-же функции:
jQuery(RESPONSE_CLASS).html('Ошибка: Пользователь не найден в базе данных!').css({'color':'red'});
break;
case'ERROR_UPDATE_USER':
jQuery(RESPONSE_CLASS).html('Ошибка: Не удалось обновить данные пользователя!').css({'color':'red'});
break;
case'ERROR_NOT_CODE':
jQuery(RESPONSE_CLASS).html('Ошибка: Такого кода нет в базе данных!').css({'color':'red'});
break;
....
сейчас думаю сделать языковые пакеты и хранить все ошибки в файле, в массиве.
И при этом посоветовали выдавать сообщение об ошибке на стороне сервера.
Этим я избавлюсь от гиганских повторяющихся свичей. Остается проблема повторения кода именно jquery ajax. Сейчас, вот думаем как это все интересненько реализовать
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.