2016-01-07 4 views
0

Мое дело отличается от других вопросов. У меня есть div с этим кодом <div id="ondiv"><?php ?></div>ajax auto refresh div значения другая версия

Внутри этого php находятся люди, которые находятся в сети. Когда пользователь вводит логин, div обновляется и может видеть человека, который только что вошел в систему. Я пробовал код из предыдущего вопроса вроде этого.

$(document).ready(function(){ 
setInterval(function(){ 
$("#oldiv").load("chat.php"); 
}, 2000); 
}); 

`но то, что он сделал это перезагрузить страницу и то, что отображается на моем DIV была целая страница chat.php. Я хочу только обновить div, чтобы отобразить пользователя, который просто заходил в php-код.

+0

try document.URL + '#thisdiv' внутри загрузки $ ("# oldiv"). Load (document.URL + '#thisdiv'); – DpEN

+0

Если вы создаете чат-систему, я настоятельно рекомендую вам взглянуть на использование веб-сайтов над шаблоном опроса AJAX. –

ответ

0

Обратитесь к методу нагрузки JQuery: http://api.jquery.com/load/

Он принимает содержание chat.php и места внутри #oldiv.

Вы можете изменить свой chat.php или создать новый файл для достижения того, что вам нужно.

0

Я предполагаю, что у вас есть контейнер (div) в chat.php, который содержит всех онлайн-пользователей.

Вы можете загрузить только fragment from the page в свой целевой элемент.

.load() метод, в отличие от $.get(), позволяет указать часть удаленного документа, который будет вставлен. Это достигается специальным синтаксисом параметра url. Если один или несколько символов пробела включены в строку, часть строки, следующая за первым пространством, считается селектором jQuery, который определяет загружаемый контент. Ref this

Попробуйте это:

$(document).ready(function() { 
    setInterval(function() { 
    $("#oldiv").load("chat.php #container_which_holds_online_user"); 
    }, 2000); 
}); 
1

.load() действительно только полезной, когда вызов только приведет к HTML. Если бы я тебя, я хотел бы сделать это с помощью AJAX:

$(document).ready(function(){ 
    setInterval(function(){ 
     $.ajax({ 
      type: 'post', 
      url: 'chat.php', 
      success: function(data) { 
       $("#oldiv").html(data); // or ondiv, didn't get it 
      } 
     }); 
    }, 2000); 
}); 
+0

'chat.php' возвращает исходный html. – Rayon