Итак, я хочу перезагрузить div или веб-страницу только один раз для веб-приложения Flask, над которым я работаю, но, поскольку я плохо знаю JS, я застрял в цикле, а не обновлялся только один раз.
Почему я пытаюсь это сделать?
Перед тем, как перейти на эту страницу, пользователь вводит данные и выполняет вычисления, а затем через Selenium делает скриншот веб-сайта, процесс занимает слишком много времени, поэтому, когда пользователь нажимает клавишу ввода, он выполняет вычисления и затем перенаправляет на новыйОднажды на этой странице я вызываю fx, который в фоновом режиме через ajax передает функцию selenium, вместо скриншота загружается gif.
Цель состоит в том, что после завершения маршрута ajax div или страница перезагружается только один раз, чтобы заменить gif, и показывает скриншот (который я сделал через if / else в Jinja). Надеюсь, что это имеет смысл, если не позволю мнезнаю.
Это div, над которым я хочу работать
<div id="siteimg" class="c">
{% if a.imgofsite != "" %}
<img class="c" src="{{ url_for('static', filename = '' + a.imgofsite ) }}" style="overflow: hidden;">
{% else %}
<img class="c" src="{{ url_for('static', filename = 'img/load.gif') }}" style="overflow: hidden;">
<h5 class="c" style="overflow: hidden;">RENDERING SCREENSHOT</h5>
{% endif %}
Ниже приведен JS, который я использую для отправки формы, а затем вызываю ее.
<script type="text/javascript">
function img_load() {
$.ajax({
type: 'POST',
url: '/siteimage/{{ a._id }}',
});
}
</script>
<script>img_load();</script>
То, что я пробовал: это поставило меня в непрерывный цикл
location.reload(true);
Это не дало мне ответа, когда я добавил его в блок вызова ajax
function refresh() {
setTimeout(function () {
location.reload()
}, 100);
}
Этот также поставил меня в непрерывный цикл
$("#siteimg").load(location.href + " #siteimg");