Как сделать Ajax refre sh элементом, только если файл был изменен? - PullRequest
1 голос
/ 09 января 2020

У меня есть файл .xspf, который мое приложение загружает с сервера. Содержание этого файла обновляется иногда. Как сделать Ajax refre sh элемент, как только содержимое файла изменилось?

Теперь у меня обновляется каждые 1 се c.

view.py

def sign_update(request):
    # get_sign() is the method that takes content of the file
    artist, track = Icecast().get_sign() 
    response_dict = {'artist': artist, 'track': track}
    return render(
        request,
        'sign.html',
        context=response_dict
    )

sign_update. js

function sign_update() {
    $.ajax({
        url: "sign_update",
        cache: false,
        success: function(data) {
            $("#sign").html(data);
        }
    });
}

$(document).ready(function() {
    sign_update();
    setInterval('sign_update()', 1000);
});

1 Ответ

1 голос
/ 09 января 2020

то, что вы делаете, это метод извлечения : setInterval - не лучшая идея, потому что он продолжает вызывать ваш сервер с изменениями или без них, представьте, если у вас есть 1000 пользователей, каждый из которых отправит запрос к серверу каждую секунду.

Я советую вам использовать pu sh метод , такой как SignalR . вот демо для чата, которое вы можете сделать с небольшим количеством строк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...