Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2018, 02:21
Аспирант
Отправить личное сообщение для weirdjava Посмотреть профиль Найти все сообщения от weirdjava
 
Регистрация: 01.03.2017
Сообщений: 40

Не получается внедрить ajax.reload()
Всем Привет!
Не подскажете как сделать что бы таблица обновлялась каждые 2 сек?
ajaxGet.js

$(document).ready(function()
{
    $.ajax({
        url: "monitor/all",
        type: "GET",
        dataType:"json",
        success: function (response)
        {
            var trHTML = '';
            $.each(response, function (key,value) {
                trHTML +=
                    '<tr><td>' + value.id +
                    '</td><td>' + value.url +
                    '</td><td>' + value.exceptedHttpResponseCode +
                    '</td><td>' + value.status +
                    '</td><td>' + value.active +
                    '</td></tr>';
            });

            $('#monitorTable').append(trHTML);
        }
    });
});


ajaxPost.js
$(function(){
    $("#frm").on("submit", function(event) {
        event.preventDefault();

        var formData = {
            'url': $('input[name=url]').val(),
            'exceptedHttpResponseCode': $('input[name=exceptedHttpResponseCode]').val()

        };
        console.log(formData);

        $.ajax({
            url: "/monitor/add",
            type: "post",
            data:JSON.stringify(formData) ,
            contentType:"application/json",
            success: function(d) {
                alert(d);
            },

        });

    });

});

Последний раз редактировалось weirdjava, 17.01.2018 в 03:30.
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2018, 08:21
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,807

$(document).ready(function() {
	(function update_table(){
		$.ajax({
			url: "monitor/all",
			type: "GET",
			dataType: "json",
			success: function(response) {
				var trHTML = '';
				$.each(response, function(key, value) {
					trHTML += '<tr><td>' + value.id + '</td><td>' + value.url + '</td><td>' + value.exceptedHttpResponseCode + '</td><td>' + value.status + '</td><td>' + value.active + '</td></tr>';
				});
				$('#monitorTable').append(trHTML);
				setTimeout(update_table,2000);
			}
		});
	})();
});
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2018, 17:12
Аспирант
Отправить личное сообщение для weirdjava Посмотреть профиль Найти все сообщения от weirdjava
 
Регистрация: 01.03.2017
Сообщений: 40

Сообщение от Nexus Посмотреть сообщение
$(document).ready(function() {
	(function update_table(){
		$.ajax({
			url: "monitor/all",
			type: "GET",
			dataType: "json",
			success: function(response) {
				var trHTML = '';
				$.each(response, function(key, value) {
					trHTML += '<tr><td>' + value.id + '</td><td>' + value.url + '</td><td>' + value.exceptedHttpResponseCode + '</td><td>' + value.status + '</td><td>' + value.active + '</td></tr>';
				});
				$('#monitorTable').append(trHTML);
				setTimeout(update_table,2000);
			}
		});
	})();
});

Nexus,Cпасибо болшое! понял,а если я хочу добавить delete? нужно повесить обработчик,получаю id,Далее делаю запрос к серверу. После чего при успешном удалении из таблицы можно удалить соответствующую строку. вот так правильно?:

function getTable() {
    $.ajax({
        url: "monitor/all",
        type: "GET",
        dataType:"json",
        success: function (response) {
            var trHTML = '';
                var id = $(this).data('id');
            $.each(response, function (key,value) {
                trHTML +=
                    '<tr><td>' + value.id +
                    '</td><td>' + value.url +
                    '</td><td>' + value.exceptedHttpResponseCode +
                    '</td><td>' + value.status +
                    '</td><td>' + value.active +
                    '</td></tr>';

            });


            $('#monitorTable tbody').html(trHTML);

        }
    });
}


$(document).ready(function() {
    (function update_table(){
        $.ajax({
            url: '/monitor/delete',
            type: 'DELETE',
            dataType: "json",
            success: function (event) {
                $('.delBtn').on('click', function () {
                    var id = $(this).data('id');

                });
            }
        });

        $.ajax({
            url: "monitor/all",
        type: "GET",
        dataType: "json",
        success: function(response) {
            var trHTML = '';
            $.each(response, function(key, value) {
                trHTML += '<tr><td>' + value.id + '</td><td>' + value.url + '</td><td>' + value.exceptedHttpResponseCode + '</td><td>' + value.status + '</td><td>' + value.active
                    + '</td><td><button data-id="delBtn" class="btn btn-danger btn-sm delBtn">Delete</td></tr>';

            });

            $('#monitorTable').html(trHTML);

            setTimeout(update_table,2000);

        }

    });
    })();

});



    $(document).ready(function () {
        getTable();

        $("#frm").on("submit", function (event) {
            event.preventDefault();

            var formData = {
                'url': $('input[name=url]').val(),
                'exceptedHttpResponseCode': $('input[name=exceptedHttpResponseCode]').val()
            };

            console.log(formData);

            $.ajax({
                url: "/monitor/add",
                type: "post",
                data: JSON.stringify(formData),
                contentType: "application/json",
                success: function (d) {
                    getTable();

                },
            });
        });
    });
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2018, 17:16
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,807

weirdjava, не понял я что вы хотите, но в коде у вас хрень какая-то.
Ответить с цитированием
  #5 (permalink)  
Старый 17.01.2018, 17:20
Аспирант
Отправить личное сообщение для weirdjava Посмотреть профиль Найти все сообщения от weirdjava
 
Регистрация: 01.03.2017
Сообщений: 40

Nexus,
не могу понять как правильно повесить delete обработчик на кнопку delBtn?
Ответить с цитированием
  #6 (permalink)  
Старый 17.01.2018, 17:50
Аспирант
Отправить личное сообщение для weirdjava Посмотреть профиль Найти все сообщения от weirdjava
 
Регистрация: 01.03.2017
Сообщений: 40

Nexus
function getTable() {
    $.ajax({
        url: "monitor/all",
        type: "GET",
        dataType:"json",
        success: function (response) {
            var trHTML = '';
                var id = $(this).data('id');
            $.each(response, function (key,value) {
                trHTML +=
                    '<tr><td>' + value.id +
                    '</td><td>' + value.url +
                    '</td><td>' + value.exceptedHttpResponseCode +
                    '</td><td>' + value.status +
                    '</td><td>' + value.active +
                    '</td></tr>';

            });


            $('#monitorTable tbody').html(trHTML);

        }
    });
}


$(document).ready(function() {
    (function update_table(){
        $.ajax({
            url: "monitor/all",
        type: "GET",
        dataType: "json",
        success: function(response) {
            var trHTML = '';
            $.each(response, function(key, value) {
                trHTML += '<tr><td>' + value.id + '</td><td>' + value.url + '</td><td>' + value.exceptedHttpResponseCode + '</td><td>' + value.status + '</td><td>' + value.active
                    + '</td><td><button data-id="delBtn" class="btn btn-danger btn-sm delBtn">Delete</td></tr>';

            });

            $('#monitorTable').html(trHTML);
            
            $('.delBtn').on('click', function() {
                var id = $(this).data('id');
                $.ajax({
                    url: '/monitor/delete',
                    type: 'DELETE',
                    dataType: "json",
                    success: function (event) {

                    }
                })
            });

            setTimeout(update_table,2000);

        }

    });
    })();

});



    $(document).ready(function () {
        getTable();

        $("#frm").on("submit", function (event) {
            event.preventDefault();

            var formData = {
                'url': $('input[name=url]').val(),
                'exceptedHttpResponseCode': $('input[name=exceptedHttpResponseCode]').val()
            };

            console.log(formData);

            $.ajax({
                url: "/monitor/add",
                type: "post",
                data: JSON.stringify(formData),
                contentType: "application/json",
                success: function (d) {
                    getTable();

                },
            });
        });
    });
]
не могу понять как правильно повесить delete обработчик на кнопку delBtn
Ответить с цитированием
  #7 (permalink)  
Старый 17.01.2018, 17:54
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,807

$(function() {
    $('a.delBtn').click(function() {
        var $this = $(this);
        $.ajax({
            url: '/monitor/delete',
            type: 'DELETE',
            dataType: "json",
            data: {
                id: $this.data('id')
            }
            success: function(event) {
                $this.parents('tr').remove();
            }
        });
    })
});
Ответить с цитированием
  #8 (permalink)  
Старый 17.01.2018, 18:23
Аспирант
Отправить личное сообщение для weirdjava Посмотреть профиль Найти все сообщения от weirdjava
 
Регистрация: 01.03.2017
Сообщений: 40

Nexus,
я data не передаю,$this.parents('tr').remove() тоже не нужно;нужно зарефрешить всю таблицу после удаления; вот это не получается ;
я когда в постмане передаю id(http://localhost:8080/monitor/delete/1) ,то удаляется

$(function() {
                $('delBtn').click(function() {
                    var $this = $(this);
                    $.ajax({
                        url: '/monitor/delete',
                        type: 'DELETE',
                        success: function(event) {
                        }
                    });
                })

            });
Ответить с цитированием
  #9 (permalink)  
Старый 17.01.2018, 19:11
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,807

$(document).ready(function() {
	var __getTable_timeout = 0;

	function getTable() {
		clearTimeout(__getTable_timeout);
		$.ajax({
			url: "monitor/all",
			type: "GET",
			dataType: "json",
			success: function(response) {
				var trHTML = '';
				$.each(response, function(key, value) {
					trHTML += '<tr><td>' + value.id + '</td><td>' + value.url + '</td><td>' + value.exceptedHttpResponseCode + '</td><td>' + value.status + '</td><td>' + value.active + '</td><td><button data-id="delBtn" class="btn btn-danger btn-sm delBtn">Delete</td></tr>';
				});
				$('#monitorTable').html(trHTML);
				__getTable_timeout = setTimeout(getTable, 2000);
			}
		});
	};
	getTable();
	
	$("#frm").on("submit", function(event) {
		event.preventDefault();
		$.ajax({
			url: "/monitor/add",
			type: "post",
			data: JSON.stringify({
				'url': $('input[name=url]').val(),
				'exceptedHttpResponseCode': $('input[name=exceptedHttpResponseCode]').val()
			}),
			contentType: "application/json",
			success: getTable,
		});
	});
	
	$('#monitorTable').on('click','.delBtn',function(){
		$.ajax({
			url: '/monitor/delete/'+$(this).data('id'),
			type: 'DELETE',
			dataType: "json",
			success: getTable
		});
	});
});

Последний раз редактировалось Nexus, 17.01.2018 в 21:27.
Ответить с цитированием
  #10 (permalink)  
Старый 17.01.2018, 21:00
Аспирант
Отправить личное сообщение для weirdjava Посмотреть профиль Найти все сообщения от weirdjava
 
Регистрация: 01.03.2017
Сообщений: 40

Nexus,
К сожалению delete не работает,не реагирует onclick
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается изменить цвет шрифта hardway jQuery 2 23.08.2017 13:06
Не получается адаптировать код pricebody Общие вопросы Javascript 2 18.03.2016 20:03
Не получается прикрутить wysiwig Bloiv AJAX и COMET 1 22.06.2012 20:52
dataTables + jeditable не получается сделать поля редактируемыми alekslkta Элементы интерфейса 0 02.05.2011 16:17
dataTables + jeditable не получается сделать поля редактируемыми alekslkta jQuery 0 01.05.2011 23:53