2014-11-30 4 views
0

В моем проекте мне нужно показывать всплывающее сообщение автоматически, когда запись моей таблицы проектов изменяется или обновляется другим процессом. Например, когда кто-то добавляет новую запись, всплывающее сообщение должно отображаться для каждого, кто видит систему, что новая запись была добавлена.Как показать всплывающее сообщение, когда таблица обновляется другим процессом

+1

Все ли получают изменения или обновления? Если это так, вызовите ajax, а затем добавьте всплывающее сообщение в случае успешного вызова ajax. –

+0

Gaurav Kalyan, Дело в том, что в моем проекте несколько пользователей могут одновременно войти в систему, если один пользователь обновит запись, я хочу, чтобы каждый из них сообщал, что запись обновлена, я хочу показать сообщение всем пользователям. – jones

+1

Вам нужно будет использовать ajax-опрос - очень простое решение. Он будет проверять данные каждую секунду и уведомлять с предупреждением, если содержимое изменилось:) – Toumash

ответ

0

Один из способов сделать это - добавить всплывающее окно alert(), когда AJAX обновил данные в HTML DOM.

$.ajax{ 
    url: someCode.php, 
    success: function(){ 
    // update the table in the HTML DOM 
    alert('Table has been updated!'); 
    } 
} 

Вы также можете использовать the jQuery UI dialog, если вы хотите фантазии всплывающего окна.

+0

Rahul Desai благодарит за ответ, но что делать, если таблица обновлена ​​из другого источника ???. например, другой пользователь обновляет таблицу. – jones

+0

Затем вы используете опрос -> проверьте мой ответ – Toumash

+0

@ArifHussaini Пожалуйста, разместите соответствующий фрагмент кода, чтобы я мог посмотреть. –

3

Вам нужно будет использовать опрос ajax - очень простое решение. Он будет проверять данные каждую секунду и уведомлять с оповещением, если содержимое изменилось:)

Отправляйте последнее время обновления с помощью ajax и проверяйте, есть ли что-то новое после этого времени до фактического.

$.post("test.php", { last_update: var_with_last_time }) 
.done(function(data) { 
    alert("Data Loaded: " + data); 
    // here check if the server returned something like {"changed":"true"} 
    if(value == true){ 
     alert("Data CHANGED"); 
     //Here fire new update request to refresh content, or you could do this in the same ajax call 
     // You must change some php :) 
    }); 
+0

на самом деле это было бы сообщение с сервером push ... точно так же, как facebook уведомление ... – Riad

+0

Что? мой код? Если да, то смысл. Все используют опрос:) Другим способом является использование веб-сокетов, но они несовместимы со всеми браузерами – Toumash

0

создать скрытый DIV так:

<div class="popupwindow" style="display:hidden"> change has been made</div> 

вы можете стиль это Див выглядеть как лайтбокс или все, что вы хотите

если вы используете JQuery Ajax, в вас успехе функции

$(".popupwindow").fadeIn(400); 

вы также можете сделать это исчезать после того, как количество времени или вы можете использовать метод предупреждения вместо скрытого div, это зависит от вас

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