[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ajax подгрузка с e.preventDefault()
Quieteroks
Здравствуйте.

Не знаю как правильно описать проблемы, но постараюсь...

Как понятно из темы, делаю погрузку контента по ajax, соответственно идет отмена стандартного действия (пробовал и return false и e.preventDefault()), после чего скрипт отменяет не только стандартное действие ссылки, но и ранее повешенные обработчики на меню. Понятнее возможно будет в коде:


// Обработчик меню
jQuery("#menu li").click(function() {
if(!jQuery(this).find("> a").is(".active")) {
if(jQuery("#menu li a").hasClass(".active")) {
var active = jQuery("#menu li");
active.find("> a > strong").stop(true).delay(180).animate({color:"#FFFFFF",top:"0px"},400,"easeOutExpo");
active.find("> a > span").stop(true).animate({color:"#FFE0B1",top:"-90px"},300,"easeInExpo");
active.find("> a").removeClass("active");
}
jQuery(this).find("> a > strong").css({"color":"#FFFFFF", "top":"90px"});
jQuery(this).find("> a > span").css({"color":"#FFE0B1", "top":"0px"});
jQuery(this).find("> a").addClass("active");
}
}
);
// Код ссылки
jQuery("a.ajax").on("click",function (e) {
var href = jQuery(this).attr("href");
loadContent(href,true);
e.preventDefault();
});


Никак не могу понять, почему он прерывает обработчик меню...
Кто нить знает, как это обойти?

Ну и второй вопрос, ближе к самому запросу jQuery.ajax().
Посылаю запрос POST методом и ожидаю ответ от сервера в формате json.
Но, есть такие моменты, когда нужна переадресация в скрипте. причем делается это грубо, посылкой соответствующего заголовка браузеру. И соответственно этот метод прерывает получение данных (json) и страница не получает нужного ответа. Вот теперь думаю, как правильно отработать переадресацию. либо ответ сервера изменить при ajax запросах, либо можно как то скрипт научить на это реагировать.
Тоже, очень хочется услышать какие нить рекомендации.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.