• Страница 1 из 1
  • 1
Модератор форума: Dimitro, LightInDarkness  
Нужна помощь с AJAX
Stormtrooper
Командир
Доброй ночи всем
Возможно пишу не в тот раздел но всё же
Хочу сделать динамическое обновление "Онлайн бара" (полосочка, показывающая количество игроков онлайн) через AJAX по таймеру на своём сайте, но все попытки заканчиваются ничем
Или скрипт вообще не отрабатывает или отрабатывает но при этом затирает вообще весь контент сайта и показывает только себя (пробовал поставить простенький скрипт выводящий каждую секунду рандомное число)
Создаётся впечатление что скрипт вообще не реагирует на расположение и границы DIV'a
И сайт и сам онлайн бар написаны на PHP
Подскажите плиз как сделать так чтобы в INDEX.PHP обновлялся только контент передаваемый из PHP онлайн бара (onlinebar.php)?
Прошу не нужно посылать на Гугл - я там до пол второго ночи просидел но к сожалению результат описан выше
Если помог, ставь плюсик в репу :)

Сообщение # 1 отредактировано Stormtrooper - Суббота, 22.09.2012, 01:31
Repack
▅ ▇ █ ♪♫] ♫♪ █ ▇ ▅
Может быть, я чего-то не понимаю, но почему именно AJAX? Есть такая хорошая вещь, как JQuery. Если нужно показать, как это там делается - стукни в Skype/ICQ.
Сообщение # 2 написано 22.09.2012 в 03:24
Кот_ДаWINчи
Чемпион
Quote (МучительТринити)
Может быть, я чего-то не понимаю


Конечно не понимаешь. Ты пытаешься сравнивать мокрое и полосатое.

т.к. AJAX - это технология (подход) в программировании когда при помощи Javascript, XML и серверных скриптов осуществляется частичная перезагрузка страницы. (см. http://ru.wikipedia.org/wiki/AJAX)

а JQuery - это библиотека / фреймвок на Javascript, которая в своей работе в некоторых местах использует всё тот же AJAX.

Stormtrooper, код в студию. а то фраза "не получается" - это не показатель!
мне фиолетово какой у меня рейтинг, можете поставить хоть минус миллион...
Не в плюсах счастье...
Помогаю тем, кто хочет чтобы ему помогли, а не сделали за него.
Сообщение # 3 написано 22.09.2012 в 11:10
Repack
▅ ▇ █ ♪♫] ♫♪ █ ▇ ▅
Quote (Кот_ДаWINчи)
JQuery - это библиотека / фреймвок

Кэп шоле?
Quote (Кот_ДаWINчи)
Ты пытаешься сравнивать мокрое и полосатое.

Я лишь неправильно сформулировал фразу. Я не знаю как сделать это чисто на AJAX, поэтому предложил метод с Jquery. Извините, многоуважаемый Кот_ДаWINчи, меня за то, что я не так выразился.
Сообщение # 4 написано 22.09.2012 в 12:14
Stormtrooper
Командир
Ну вот например:
<div id="content"></div>

<script>
function show()
{
$. ajax ({
url: "onlinebar.php",
cache: false,
success: function(html){
$("#content").html(html);
}
});
}

$(document).ready(function(){
show();
setInterval('show()',1000);
});
</script>

Вставил скрипт в раздел <HEAD>, див вставил в тело - получил пустой экран - даже мой контент не видно (правда не на всём сайте а только там где вставил див)
Проблема в том что все пишут что сайт у них на HTML, а у меня всё в PHP - даже главная страница сайта это INDEX.PHP
+я не очень понимаю что за часть скрипта вот это:
success: function(html){
$("#content").html(html);


Попробовал применить то что мне Мучитель скинул
Если просто инклуднуть файл со скриптом то он затирает весь контент сайта но отрабатывает
Если ограничить инклуд Дивами то работать перестаёт и затирает часть контента сайта
Вобщем я в тупике

Такс разобрался почему не отрабатывал когда ограничивал - забыл в основном сайте подключить js
Но от проблемы затирания контента меня это не избавило
На сайт выводится ТОЛЬКО PHP которое подгружается в скрипте - да оно работает но это полный бред что весь остальной контент сайта не виден из-за него

Рассказываю подробно:
Имеется сайт - основная страница INDEX.PHP
В ней есть include отвечающий за вызов информации о риалме (блок располагается в правой панели сайта) - этот инклуд вызывает файл RightStats.php
В этом файле есть блок в котором я расположил вызов скрипта JS расположенного в файле stats.php так же через <? include stats.php ?>
Этот скрипт вызывает и обновляет раз в секунду полоску онлайна из файла Onlinebar.php
Но когда я всю эту прелесть запускаю то получаю вот это:


Оно работает но сами видите во что превращается сайт sad
Если помог, ставь плюсик в репу :)

Сообщение # 5 отредактировано Stormtrooper - Суббота, 22.09.2012, 13:58
mr_aVeNgEr
Сержант
$. ajax ({
url: "onlinebar.php",
cache: false,
success: function(html){
$("#content").html(html);

Функция которая запрашивает onlinebar.php

success: function(html){
$("#content").html(html);
если запрос успешен(запрос к файлу) то выводит данные в div с id="content" решается это дело так:
Создаешь <div id="onlinebar"> </div> в нужном месте просто вставляешь код и $("#content").html(html); меняешь на $("#onlinebar").html(html);
А для инфы, для таких вещей есть ajax.load.

Добавлено (22.09.2012, 14:27)
---------------------------------------------
А да, затераеться потому что у тебя на сайте есть div с id="content" и он будет убирать оттуда все, вставляя подгруженный скрипт.

Дизайн\коддинг сайтов, контакты в профиле.
Мой не большой сайт для серверов WoW.
avenger-web.ru - мой блог о веб дизаине и кодинге.
Сообщение # 6 написано 22.09.2012 в 14:27
Stormtrooper
Командир
Спасибо!!!! Действительно DIV с id content был уже и потому косячило!
Плюсик поставил
Проблема решена - всё работает!
Если помог, ставь плюсик в репу :)

Сообщение # 7 написано 22.09.2012 в 16:02
  • Страница 1 из 1
  • 1
Поиск: