Код JS:
<script type="text/javascript" th:inline="javascript">
var senderLogin = [[${senderLogin}]]
var recipientLogin = [[${recipientLogin}]]
function CheckAndGetMessage() {
$.ajax({
type : "GET",
url: '/get_updated_dialog',
data: {'senderLogin':senderLogin, 'recipientLogin':recipientLogin },
success: function (messageList) {
document.getElementById("messageList_local").value = messageList;
$('#message_table').DataTable().ajax.reload();
return;
}
});
};
setInterval(CheckAndGetMessage,1000);
Код Java:
@RequestMapping(value = "/get_updated_dialog",method = RequestMethod.GET)
@ResponseBody
public List<Message> getUpdatedDialog(Authentication authentication, @RequestParam("senderLogin") String senderLogin, @RequestParam("recipientLogin") String recipientLogin, Model model){
List<Message> messageList = messageService.UpdatedDialogBetweenUsers( recipientLogin, senderLogin,authentication, model);
return messageList; }
Другой код Java:
model.addAttribute("messageList", messageList);
(Атрибут добавляется в функцию, которая возвращает представлениес таблицей страниц)
Моя таблица:
<div id="messageList_local" th:with="messageList_local=${messageList}">
<table id="message_table" cellspacing="0" cellpadding="0">
<span th:each="message : ${messageList}"> <!-- close tags and etc -->
Я пытался вызвать это в JS:
document.getElementById("messageList_local").value = messageList;
$('#message_table').DataTable().ajax.reload();
Но моя таблица не обновилась.PS Я проверил с помощью отладчика, что getUpdatedDialog возвращает список с обновленными сообщениями.