Перенаправить страницу и загрузить / обновить div на этой странице с помощью ajax

#php #jquery #ajax #redirect #partial-page-refresh

#php #jquery #ajax #перенаправление #частичное обновление страницы

Вопрос:

Я использую ajax для перенаправления на страницу по окну.местоположение = «page.php «

После перенаправления страницы мне нужно загрузить div на этой странице. Например search.php .

Я читал о том, как это сделать, и, насколько я понял, вы можете сделать это с помощью jquery. Я никогда не использовал jquery, поэтому, если кто-нибудь сможет мне помочь, я буду очень признателен.

Если это можно сделать без jquery, то еще лучше!

Редактировать: Позвольте мне еще раз объяснить, что я пытаюсь сделать. У меня есть таблица, которая обновляет эту базу данных. Все это делается с помощью php, js и ajax.

Например «Displaytable.php «отображает таблицу. Пользователь может выполнять поиск, и он заменяет результат поиска в div. Когда кто-то хочет обновить, он переходит на update.php . После ее обновления я хочу перенаправить страницу на Displaytable.php с результатами поиска в div. Я использую переменные сеанса для выполнения поиска. Поиск работает нормально, я протестировал его на другой странице.

Комментарии:

1. Можете ли вы просто не включать страницу include «mypage.php «; или использовать iframe?

2. окно JavaScript. местоположение = «page.php «не является вызовом AJAX. С какими трудностями вы сталкиваетесь при загрузке HTML после перенаправления страницы?

Ответ №1:

Возможно, это то, что вы ищете (используя jQuery):

В page.php :

 <script>
//<![CDATA[
$(function() {
    $("#divID").load('search.php');
});
//]]</script>
  

Описание:
Это позволит загрузить страницу search.php в ( div ) элемент с идентификатором, "divID" после page.php загрузки.

Комментарии:

1. Да, что-то вроде этого. Позвольте мне попробовать. Любой способ добавить флаг для загрузки поиска по определенному событию или флагу. Я не хочу, чтобы поиск отображался постоянно, только когда он перенаправляется с update.php и еще одна страница.

2. Это сработало, большое спасибо!!! Теперь мне нужно выяснить, как добавить флаг. Есть идеи? Итак, в основном, когда я впервые захожу в page.php и результатов поиска нет, поэтому ничего не должно отображаться. Теперь он выдает мне неопределенную переменную из php, которая ожидается, поскольку переменные не заданы в search.php

3. Удалите блок кода, если вы не хотите загружать поиск. У вас есть полная гибкость на стороне сервера. Вы можете проверить Referer заголовок, чтобы узнать, с какой страницы был перенаправлен пользователь.

4. Не удалось понять, что вы имеете в виду. 🙁

5. Из моего последнего комментария? Исходная проблема вроде как решена. Теперь он перенаправляет страницу и обновляет div. Но это происходит каждый раз, когда страница загружается. Я хочу вызывать эту функцию только при перенаправлении страницы.

Ответ №2:

jQuery написан на JavaScript, поэтому вы всегда можете обойтись без jQuery, если напишете его сами — хотя это вопрос краткости.

Кажется, вы пытаетесь продолжить управлять окном после того, как загрузили в него другую страницу. Вы не сможете этого сделать, если меняете местоположение текущего окна (хотя, если рассматриваемая страница находится в одном домене (например, если обе страницы находятся на www.example.com ). (Вы можете, если открываете другое окно или добавляете страницу на текущей странице.)

Если перенаправленная страница находится под вашим контролем, вы можете загрузить div асинхронно (посмотрите руководство по Ajax — хотя jQuery предлагает удобный, хорошо протестированный кроссбраузерный подход, который может быть более громоздким самостоятельно), добавив событие onload на открывшейся странице и заполнив div в этот момент.

Комментарии:

1. Я загружаю ее асинхронно, и перенаправленная страница находится в том же домене, поэтому она работает.