Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.12.2012, 08:44
Интересующийся
Отправить личное сообщение для Dremlin Посмотреть профиль Найти все сообщения от Dremlin
 
Регистрация: 18.08.2012
Сообщений: 26

Полная перезагрузка страницы с POST запросом JQUERY + AJAX
Доброго времени суток!
Подскажите, как можно в результате ajax запроса полностью перезагрузить текущую страницу средствами JQuery, можно и на чистом JavaScript. Пробую следующий код:
$(document).ready(function(e) {
	
	$('.mtb').click(function() // .mtb - это класс кнопки
	{
		$.ajax(
		{
			url    : "index.php #html",
			type   : 'POST',
			data   : {'js':1},
			async  : false,
			cache  : false,
			success: function(html)
			{
				$('html').html(html);
			},
		});
		return false;
	});
	
});


Смысл затеи:
При включенном JavaScript в браузере по событию сранички с сервера подгружаются ajax технологией, а при выключеном - стандартным post запросом из формы.

Я что-то делаю явно не так, кто сможет поправить и объяснить в чем проблема? Заранее благодарен любой подсказке, где рыть и копать

P.S.
Интересно то, что если я делаю выборку от тега body и вставляю в body, то всё работает, а если пытаюсь от html и вставляю в html, то при просмотре через Mozilla FireBug видно, что куска дерева нет (body пропадает)

Последний раз редактировалось Dremlin, 12.12.2012 в 09:29.
Ответить с цитированием
  #2 (permalink)  
Старый 12.12.2012, 13:40
Аватар для tropiko
Аспирант
Отправить личное сообщение для tropiko Посмотреть профиль Найти все сообщения от tropiko
 
Регистрация: 23.06.2011
Сообщений: 44

Позволю себе интерес: "Но зачем?"
Прироста производительности от этого не произойдет.
Ответить с цитированием
  #3 (permalink)  
Старый 12.12.2012, 13:54
Интересующийся
Отправить личное сообщение для Dremlin Посмотреть профиль Найти все сообщения от Dremlin
 
Регистрация: 18.08.2012
Сообщений: 26

Сообщение от tropiko Посмотреть сообщение
Позволю себе интерес: "Но зачем?"
Прироста производительности от этого не произойдет.
Тут целью является проверка состояния JavaScript (Вкл/Выкл)
Если JavaScript у пользователя выключен, то серверный скрипт, например php отдаёт один вариант странички, а если включен, то другой.
Ответить с цитированием
  #4 (permalink)  
Старый 12.12.2012, 13:55
Интересующийся
Отправить личное сообщение для Dremlin Посмотреть профиль Найти все сообщения от Dremlin
 
Регистрация: 18.08.2012
Сообщений: 26

Я никак не пойму как на JQuery или чистом JavaScript страничку полностью заменить. От корня
<html>
до конца
</html>
после того как ajax`ом получил файл
Ответить с цитированием
  #5 (permalink)  
Старый 12.12.2012, 15:08
Аватар для tropiko
Аспирант
Отправить личное сообщение для tropiko Посмотреть профиль Найти все сообщения от tropiko
 
Регистрация: 23.06.2011
Сообщений: 44

Сообщение от Dremlin Посмотреть сообщение
Тут целью является проверка состояния JavaScript (Вкл/Выкл)
Если JavaScript у пользователя выключен, то серверный скрипт, например php отдаёт один вариант странички, а если включен, то другой.
Тег noscript никто не отменял
Ответить с цитированием
  #6 (permalink)  
Старый 12.12.2012, 15:12
Интересующийся
Отправить личное сообщение для Dremlin Посмотреть профиль Найти все сообщения от Dremlin
 
Регистрация: 18.08.2012
Сообщений: 26

Сообщение от tropiko Посмотреть сообщение
Тег noscript никто не отменял
Согласен, но код такой кривой получается и выглядит так не красиво
Весь прикол в том, что мне удаётся получить от сервера ответ и положить его в переменную в которой весь нужный html - код, но как его теперь перед тем как отобразить страницу запихнуть в document ?
При попытках что то вставить в DOM дерево он куски кушает) Или ещё какие ошибки возникают, только не то что нужно)
Ответить с цитированием
  #7 (permalink)  
Старый 14.12.2012, 21:07
Интересующийся
Отправить личное сообщение для Dremlin Посмотреть профиль Найти все сообщения от Dremlin
 
Регистрация: 18.08.2012
Сообщений: 26

Решил я проблемку! Дело было в том, что теги script и link так просто не вставить с помощью jQuery. По крайней мере у меня не получилось. На помощь пришёл нативный JavaScript

После ajax запроса, получаем html документ из которого регуляркой удаляем строчки script и link, а затем создаём объекты с нужными нам свойствами и вставляем в head. Остальное встроилось в DOM без проблем. В итоге страница была перезагружена с помощью ajax

Такие вот дела.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перезагрузка jquery по событию click, без полной перезагрузки страницы Vitaliy88 Общие вопросы Javascript 4 22.11.2012 11:35
Какая разница между post запросами jquery и ajax? Rooner jQuery 2 18.06.2012 14:29
Jquery ajax в Operа к ASP.NET скрипту по таймеру, IIS выдает 403.9 Zhirinovsky AJAX и COMET 0 23.02.2012 11:56
Объекты, сформированные Ajax запросом не попадают в выборки jQuery AdeL1ne AJAX и COMET 1 13.02.2012 08:44
jQuery Ajax Rater Plugin и массив POST - Нужна помощь TROODON jQuery 12 30.12.2009 22:44