У меня есть страница, которая запрашивает у пользователя информацию, пользователь выбирает варианты и подтверждает свой выбор. Ответы отправляются на серверную часть, и создается файл. Я хочу отправить файл обратно пользователю, но для этого мне нужно отправить информацию из бэкэнда во внешний интерфейс.
Я пробовал использовать «return render_template» и «redirect», но это не сработало
Мне сказали, что я должен выполнить запрос GET, но я не уверен, как это сделать, я знаю, как отправлять данные от клиента к серверу, но я никогда не делал от сервера к клиенту и не нашел как это сделать с помощью Flask.
@app.route('/createdocument', methods=['POST', 'GET'])
#@login_required
def create_document():
playlists = get_playlists()
if request.method == "POST":
request_data = str(request.data.decode('UTF-8'))
genre = get_header_genre(request_data)
parsed_data = parse_request(request_data)
playlist_names = get_parsed_playlists(parsed_data)
if genre == "playlist":
#make_playlist_doc(playlist_names, genre)
print("playlist option not ready yet")
elif genre == "socan":
name = make_socan_doc(playlist_names, genre)
return render_template("tools/downloadfile.html", document=name)
else:
print("other request:")
print(str(request.data.decode('UTF-8')))
if request.method == "GET":
########################## Something I guess but I don't know what
return render_template("tools/createdocument.html", playlists=playlists)
Я нашел это в поисках запроса GET
function httpGetAsync(theUrl, callback)
{
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
callback(xmlHttp.responseText);
}
xmlHttp.open("GET", theUrl, true);
xmlHttp.send(null);
}
Если я хорошо понимаю, я должен но /createdocument
в theUrl, но что мне поставить обратный звонок?