XMLHttpRequest не обновляется в интервале JavaScript

Json.NET имеет опции автоматического исключения значений нуля или по умолчанию.

0
задан David Sojka 18 January 2019 в 14:19
поделиться

1 ответ

Это, вероятно, проблема с кешем. В консоли сетевого браузера вы должны увидеть ответ типа 304 Не изменено.

Конечно, вы можете добавить элемент в URL, чтобы обойти кеш:

updates.open('GET','scripts/check_for_notifications.php&nocache=' + new Date().getTime(), true);

Если это работает, вам нужно будет настроить сервер (apache или nginx), чтобы предотвратить кэшируется. Это чище, чем решение с отметкой времени. браузер не хранит кэшированные файлы без необходимости.

Apache .htaccess или Apache conf, что-то вроде

<Files "check.php">
    <IfModule mod_headers.c>
        Header set Cache-Control "no-cache, no-store, must-revalidate"
        Header set Pragma "no-cache"
        Header set Expires 0
    </IfModule>
</Files>

Nginx conf, что-то вроде

location = /check.php {
    add_header 'Cache-Control' 'no-cache, no-store, must-revalidate';
    expires off;
}

Вы также можете увидеть api: https: // hacks.mozilla.org/2016/03/referrer-and-cache-control-apis-for-fetch/

Будьте осторожны с вашим кодом, он может запустить несколько запросов одновременно и найти Если у вас слишком много пользователей, вы можете использовать DOS.

Если запросы занимают более 2 секунд из-за медленной работы сервера, другие запросы тем временем будут отправлены, что еще больше замедлит работу сервера ...

0
ответ дан Lortet 18 January 2019 в 14:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: