#javascript #html #jquery
#язык JavaScript #HTML #jquery
Вопрос:
Я прочесал этот форум в поисках ответов, но не могу заставить свой код работать. У меня есть колба, запущенная в новом потоке, дающая некоторые данные, которые я получаю во внешнем интерфейсе, теперь я хочу завершить этот поток на закрытой странице, отправив запрос POST с флагом 0.
Этот код отлично работает, когда я вызываю его по нажатию кнопки или sth, но он отказывается работать при вызове его внутри перед загрузкой или выгрузкой
class SStream(Resource): log_flag = None log_tag = None def post(self): if current_user.is_authenticated: data = request_flask.get_data() data = json.loads(data) SStream.log_flag = data["log_flag"] SStream.log_tag = data["log_tag"] def get(self): if current_user.is_authenticated: try: def stream(): if SStream.log_flag == "1": while True: data = data() yield "data" str(data) "nn" elif SStream.log_flag == "0": print("works") system.logger.close() system.log.join() return Response(stream(), content_type='text/event-stream') except: abort(404, message='error')
function endSS(){ log_flag = "0" $.ajax({ type: 'POST', url: "https://{{ request.host.split(':')[0] }}:8000/SS_logs", async: false, data: JSON.stringify({ 'log_flag': log_flag, 'log_tag': ""}), dataType: "json", }); } $(window).on('beforeunload', function () { endSS(); }); $(window).on('unload', function () { endSS(); });
Я прочитал несколько сообщений, и вам нужно установить асинхронность в значение false, чтобы отправить запрос на закрытие страницы, но…