Будет ли статическое содержимое страницы ждать загрузки, пока сценарий AJAX не получит свое содержимое? - PullRequest
1 голос
/ 17 августа 2010

Я пытаюсь отключить контент сайта и отобразить его на своем веб-сайте.

У меня есть сайт 1, и я хочу отобразить некоторый контент с сайта 2 на сайте 1.

Я планирую использовать AJAX на сайте 1, чтобы загрузить PHP-скрипт на сайте 1, который будет загружать контент с сайта 2 и отображать его.Затем AJAX возьмет эхо из сценария PHP и отобразит его в DIV на сайте 1.

Мой вопрос ...

Будет ли весь остальной статический контент сайта 1 ждать, покаPHP-скрипт для полной загрузки и вывода его содержимого перед загрузкой?

ИЛИ

Будет ли изначально загружаться весь другой статический контент сайта 1, а затем, когда скрипт PHP завершит получение контента с сайта2 AJAX отобразит его в DIV?

Все это произойдет при загрузке страницы.

Ответы [ 3 ]

1 голос
/ 17 августа 2010

Если вы сделаете это при загрузке страницы, ваш DOM будет отображаться первым, прежде чем отобразить загруженный AJAX-контент.Page_Load означает, что функция будет ждать, пока ... ну ... страница будет загружена.

Если вы не хотите, чтобы это произошло, вы можете использовать скрипт, выполняющий часть AS загрузки страницы, со встроенным Javascript.

Скажем, ваша функция была в вашей секции <head>.

<head>
  <script type="text/javascript>
    function alertMe() {
      alert("hello world!");
    }
  </script>
</head>

Затем в начале вашей секции <body> вы можете вызвать эту функцию.

<body>
  <script type="text/javascript">
    alertMe();
  </script>
  <!-- Other page content -->
</body>

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

Это довольноОбычная практика загрузки AJAX, ПОСЛЕ Ваша страница загружена, поэтому я бы выбрал опцию №1.

1 голос
/ 17 августа 2010

Обычно это второй случай: сначала загружается страница, затем вы добавляете ajax-ответ к div.

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

0 голосов
/ 17 августа 2010

Возможно, вы неправильно поняли идею AJAX.Если нет, то я неправильно понимаю ваш вопрос.

Если на сайте 1 выполняется сценарий PHP, который отображает содержимое с сайта 2, этот сценарий PHP будет ждать, пока не получит содержимое сайта 2, прежде чем продолжить с остальной частью сценария.Однако, если PHP-скрипт сайта 1 отправляет некоторый JavaScript клиенту, тогда PHP-скрипт на сайте 1 будет выполняться без отправки какого-либо запроса на сайт 2, и этот JavaScript запросит у сайта 2 его содержимое.

Мои извинения, еслиЯ неправильно понимаю ваш вопрос.

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