Как переписать всю текущую страницу с помощью Ajax? - PullRequest
0 голосов
/ 05 ноября 2010

Я создал простую страницу с кнопкой в ​​центре.

Теперь я хочу, чтобы при нажатии кнопки текущая страница полностью переписывалась с использованием нового HTML и кода Javascript, загруженного с сервера.

Как я могу сделать это с ajax?

Ответы [ 2 ]

4 голосов
/ 05 ноября 2010

Предложение: пост с обычной формой и перезагрузка страницы.Если в любом случае вы перезагружаете всю страницу, вы все равно отказываетесь от всех преимуществ AJAX, лучше всего перезагрузить всю страницу, например:

<form action="otherpagr.html">
  <input type="submit" value="Click me" />
</form>

AJAX предназначен для замены детали страницы, чтобы уменьшить накладные расходы ... но если вы заменяете, скажем, всю <body>, проще просто загрузить страницу, на которую вы собираетесь.

1 голос
/ 05 ноября 2010

Ник прав в том, что говорит, но если нет другого пути:

$('a').click(function() {
  $('body').load("test.html");
});

РЕДАКТИРОВАТЬ : Убедиться, что load извлекает только содержимое внутри <body> Тег с удаленного адреса. Для меня не получилось получить только тег <body>, определив body => load('test.html body')


Для анимации страницы вы могли бысделать что-то вроде этого:

$('a').click(function() {
  $('body').load("test.html", function() {
    $(this).hide().fadeIn(2000);
  });
});

но тогда я предлагаю реализовать хотя бы один элемент-обертку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...