X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Динамическое обновление
FordogeN
FordogeN
Topic Starter сообщение 5.1.2009, 16:48; Ответить: FordogeN
Сообщение #1


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

В общем у меня такой вопрос - как можно сделать на Java Script чтоб допустим в <span id="ajax">обновлялся контент</span>. Точней обновлялось содержание этого SPANa через определенный интервал?


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 5.1.2009, 17:28; Ответить: ZiTosS
Сообщение #2


Ajax - это технология АСИНХРОННОЙ(синхронной) работы JavaScript с XML(который формируется на сервере)
Но также есть возможность возвращать обычный текст, не в формате XML.

В общем у меня такой вопрос - как можно сделать на Java Script чтоб допустим в <span id="ajax">обновлялся контент</span>. Точней обновлялось содержание этого SPANa через определенный интервал?


Запросто. Есть такая функция в JS как
setInterval(имя_функции, время_повтора_в_милисекундах)


А вот и мой маленький примерчик.
<html>
<head>
<script type="text/javascript">
   function blockDinamic()
    {
        var blocks = new Array("блок1","блок2","блок3","блок4");
        var n = Math.floor(Math.random()*(blocks.length));
        document.getElementById('ajax').innerHTML = blocks[n];
    }

setInterval(blockDinamic, 1000);

</script>
</head>
<body>
    <div id="ajax"></div>
</body>
</html>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
Topic Starter сообщение 5.1.2009, 17:55; Ответить: FordogeN
Сообщение #3


оО... точно, СетИнтервал! Я просто помню раньше делал как-то часы и там каждую секунду обновлялось, а как - забыл... Спасиб))
зы. я так понял - blocks[n], в место [n] нужно поставить номер блока?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 5.1.2009, 18:12; Ответить: ZiTosS
Сообщение #4


Нет это я для примера сделал, а можно как ты и думал с помощью Ajax грузить инфу с PHP и вставлять :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
Topic Starter сообщение 5.1.2009, 21:17; Ответить: FordogeN
Сообщение #5


Ну я именно твоим примером и хотел. Просто синтаксис не знаю((


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Xap_mw
Xap_mw
сообщение 6.1.2009, 0:22; Ответить: Xap_mw
Сообщение #6


А Ajax снижает нагрузки на сервер?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
Topic Starter сообщение 6.1.2009, 0:45; Ответить: FordogeN
Сообщение #7


ну по сути да.
http://ajaxhelp.net/ajaxpage.html - вот по читай


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 6.1.2009, 4:19; Ответить: ZiTosS
Сообщение #8


Я тут привёл пример как рандомно выводить через каждые 1 сек новый блок...
Так вот тебе просто надо с помощью Ajax посылать запрос на сервер, а на сервере просто обращаться к БД и выбирать нужные тебе блоки, парсить прям там HTML и возвращать обратно. Затем просто возвращенную информацию запихнуть в Div

Вот почитай
_http://www.ajaxa.net/2007/03/30/ajax-s-chego-nachat/
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FordogeN
FordogeN
Topic Starter сообщение 6.1.2009, 14:55; Ответить: FordogeN
Сообщение #9


ZiTisS, а как сделать так, чтоб в место "Блок №" просто обновлялось содержимое?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 6.1.2009, 22:30; Ответить: ZiTosS
Сообщение #10


Во-первых, не ZiTisS, а ZiTosS :rolleyes:

Во-вторых, я же тебе не зря ссылку дал
_http://www.ajaxa.net/2007/03/30/ajax-s-chego-nachat/

1)К примеру 1.php
Файл JS с объектом xmlHttpRequest(как раз тот самый Ajax)
<html>
<head>
<script type="text/javascript" language="javascript">
function makeRequest()
{
   var http_request = false;

   if (window.XMLHttpRequest)
   { // Mozilla, Safari, ...
      http_request = new XMLHttpRequest();
      if (http_request.overrideMimeType)
      {
         http_request.overrideMimeType('text/xml');
         // Читайте ниже об этой строке
      }
   }
   else if (window.ActiveXObject)
   { // IE
      try
      {
         http_request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
         try
         {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (e) {}
      }
   }


   if (!http_request)
   {
      alert('Не вышло :( Невозможно создать экземпляр класса XMLHTTP ');
      return false;
   }

   http_request.onreadystatechange = function() { alertContents(http_request); };
   http_request.open('GET', "./file.php", true);
   http_request.send(null);
}

function alertContents(http_request)
{

   if (http_request.readyState == 4)
   {
      if (http_request.status == 200)
      {
         document.getElementById('ajax').innerHTML = http_request.responseText;
      } else {
         alert('С запросом возникла проблема.');
      }
   }
}

setInterval(makeRequest, 4000);
</script>
</head>
<body>

<div id="ajax">Начальный контент</div>
</body>
</html>


И файл file.php (лежит там же где и файл, который отправляет запрос, но это не обязательно, путь указывается в функции запроса)
<?php

echo rand(1,100);

?>


Ну уж как вывести определённый контент из БД я думаю объяснять не придётся, если нужно с определёнными ID можно передавать их через GET в ссылке отправки запроса :)

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Перенос (обновление) OpenCart и OcStore на новую версию 2х - 3х
Перенесу ваш магазин на новую версию движка
3 Илья1981 8443 4.10.2021, 11:59
автор: Evgen_ppm
Открытая тема (нет новых ответов) Комиссия 40-70%: обновление партнерской программы 2020
2 Phyllis 2012 20.4.2021, 17:52
автор: Phyllis
Открытая тема (нет новых ответов) Комиссия 40-70%: обновление партнерской программы 2020
1 Phyllis 1238 14.2.2020, 0:17
автор: -Phyllis-
Открытая тема (нет новых ответов) Обновление OpenCart 1.5.4.1.1 на 2.3.0.2.3
0 cactusez 1423 3.3.2019, 19:22
автор: cactusez
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыТребуется обновление форума
0 speedsound 938 3.4.2018, 15:43
автор: speedsound


 



RSS Текстовая версия Сейчас: 18.4.2024, 23:58
Дизайн