2016-11-03 3 views
0

У меня есть приложение Flask, которое принимает URL-адрес, выполняет некоторую логику и перенаправляет пользователя на другой URL-адрес. Я бы хотел создать статическую html-страницу, которая в основном говорит «подождите», пока выполняется логика. Есть ли хороший способ сделать асинхронный материал, подобный этому, в jQuery?Статическая HTML-страница в Flask при перенаправлении

app = Flask(__name__) 

@app.route('/stuff/morestuff/') 
def stuff(): 
    #can I load html here without a return()? 

    #request.args input url, calls out to api, generates new url 
    return redirect(url) 
+0

Конечно, просто сделайте ajax-вызов и добавьте, пожалуйста, подождите что-нибудь что-то, а затем удалите его, когда запрос будет завершен. В JavaScript. – davidism

+0

Не могли бы вы дать немного более подробную информацию? Сначала выполните вызов ajax, затем удалите текст после моего перенаправления. – Malakaman

ответ

0

Это не работает. Когда HTTP-запрос отправляется на ваш сервер, сервер получает ответ на один ответ. Это может быть успешным, перенаправление или несколько других типов ответов. Существует редко причина делать то, что вы описываете, потому что ответ с перенаправлением, как правило, является быстрой операцией.

Однако, если вы действительно хотите достичь такого поведения, вам нужно будет ответить успешным и иметь страницу, на которую вы отвечаете, позаботиться о переадресации с помощью javascript. На этом этапе вы можете выполнить всю логическую клиентскую сторону с помощью JS или использовать AJAX/websockets для связи с сервером для получения дополнительной информации, пока пользователю будет предложено подождать. Имейте в виду, что этот метод требует, чтобы у пользователя был включен JavaScript, что не должно требоваться для простой переадресации.

Смежные вопросы