2013-03-29 6 views
0

У меня есть div, который вызывает переменную. Когда эта переменная изменяется, пользователям необходимо обновить страницу, чтобы увидеть новое значение. Переменная вытягивается из отдельного файла PHP.Обновлять div автоматически при обновлении переменной PHP

Мне интересно, есть ли способ использовать ajax для автоматического обновления div без обновления пользователем браузера при обновлении переменной PHP.

+0

Я предполагаю, что «вызывает переменную» означает «отображает результат вычисления». Это в основном то, что для каждого сценария AJAX: спросите сервер о результатах некоторых вычислений и обновите что-то на странице на основе результата. – IMSoP

+0

Если что-то меняется на стороне сервера, и пользователь должен знать об этом, вы должны периодически «запрашивать» сервер для обновления, а затем сообщить пользователю, если два последних результата отличаются. Так что да, это возможно :) – yefrem

ответ

3

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

var previousValue = null; 

function checkForChange() { 
    $.ajax({ 
     url: 'http://example.com/getVariableValue.php', 
     ... 
     success: function(data) { 
      if (data != previousValue) { // Something have changed! 
       //Call function to update div 
       previousValue = data; 
      } 
     } 
    }); 
} 

setInterval("checkForChange();", 1000); 

Я не тестировал код, но это должно быть что-то в этом роде. Получите данные от http://example.com/getVariableValue.php, вам нужно будет заполнить некоторую информацию о запросе AJAX. Я предполагаю, что вы знаете, как изменить код для вашего конкретного формата данных, будь то XML, JSON или текст.

+0

Это именно то, что мне нужно! Я новичок в ajax, поэтому не знаю, как отформатировать данные. Однако переменная является текстовым значением. Кроме того, какой код я бы использовал для обновления div? спасибо за ваше время – hushman

+1

Если ваши данные являются открытым текстом, вы должны использовать dataType: 'html', так как для обновления фактического div вы должны взглянуть на селектор (http://api.jquery.com/category/selectors/) и метод html() в jQuery (http://api.jquery.com/html/). Проверьте API jQuery, это отличная ссылка с примерами и подробными описаниями. –

+0

Большое спасибо за начало :) Мой представитель не достаточно высок, чтобы дать вам очки, но спасибо! – hushman

Смежные вопросы