Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » Динамическое обновление Web содержимого Flask сервера при получении Get запроса [RSS Feed]

#1 Апрель 14, 2020 18:12:49

Dessan
Зарегистрирован: 2019-10-16
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Динамическое обновление Web содержимого Flask сервера при получении Get запроса

Нет, страница сервера - это не оговорка. Под страницей сервера я имею в виду тот html документ , который генерирует flask сервер. Как мне туда засунуть этот чёртов результат get запроса я понятия не имею.

Если б я знал - я бы не создавал тему, я сюда и пришёл, чтоб меня научили. Знания у меня чуть выше чем нулевые и я знаю, что ответ элементарен, но я его не вижу и я как раз хочу , чтоб меня научили.

Я 3 дня бегаю по всему интернету и не могу найти ответ.
Зато сделал все что мне нужно через с SocketIO и все работает прекрасно! Но там я также столкнулся с тем, что на сервер этого гадкого flask приходит не json формат, как я не пытался, но со стороны сервера перевести данные в json формат не получается. Вместо этого я перевёл всё в json в HTML странице через jquery одной простой командой JSON.stringify и сервер получил нужный формат json, вставил куда нужно и все работает.

Что мне делать по теме моего поста…понятия не имею

Офлайн

#2 Апрель 14, 2020 19:17:16

Dessan
Зарегистрирован: 2019-10-16
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Динамическое обновление Web содержимого Flask сервера при получении Get запроса

FishHook
Если вы знаете jquery, то в чем у вас проблема распарсить ответ сервера и вставить в любой тег по вкусу?

Как же я буду парсить если сервер стоит на одном компьютере, а get запрос на сервер я отправляю с другого компьютера? И этот запрос может быть любым и повторяться и меняться. Я ж для того сервер и делаю, чтоб он стоял на одном компьютере, а доступ я к нему имел с любого компьютера локальной сети

Офлайн

#3 Апрель 15, 2020 01:20:15

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 8145
Репутация: +  734  -
Профиль   Отправить e-mail  

Динамическое обновление Web содержимого Flask сервера при получении Get запроса

Dessan
Ну, конечно AJAX внутри браузера и конечно же выходит.
Никуда он не выходит. Он просто браузеру говорит “сделай такое-то действие” и браузер делает то же самое, что и через адресную строку ты делаешь. Но браузеры в себя повстраивали CORS, чтобы взломщики при внедрении кода на чужие страницы не могли на них устраивать базы для взломов по цепочке - когда на странице устанавливается код и страница начинает лазить по другим сайтам от имени читателей этой страницы и там тоже взламыющие коды устанавливать. Но CORS находится внутри браузера, браузер сам себя ограничивает. Ни к каналу это отношения не имеет, ни к серверу. И сервер может, по своему желанию, передавать какие-то заголовки, чтобы браузер, который ограничивает себя CORS'ом, по этим заголовкам мог сам себе разрешить выполнить запрос межсайтовый.
А при вводе запроса в адресную строку браузер понимает, что это точно не скрытый в странице код взломщика делает, поэтому для адресной строки CORS отключен.

Flask может передавать заголовки. Я тебе уже писал про класс Response во Flask, вот в него можно передать, какие заголовки он ещё должен добавить в ответ. И так для каждого маршрута ты настраиваешь свой набор передаваемых в ответ заголовков.

Насчёт JSON-формата: 1) обычный JavaScript позволяет конвертировать объекты JavaScript в JSON и парсить JSON-данные в объекты JavaScript; для этого jQuery не нужен, он всё равно поверх JavaScript работает и использует его функции; 2) Flask прекрасно и конвертирует в JSON и парсит JSON.

https://flask.palletsprojects.com/en/1.1.x/api/#flask.json.jsonify

Dessan
Зато сделал все что мне нужно через с SocketIO и все работает прекрасно! Но там я также столкнулся с тем, что на сервер этого гадкого flask приходит не json формат, как я не пытался, но со стороны сервера перевести данные в json формат не получается.

https://yandex.ru/search/?text=flask%20json&lr=80

Dessan
А Flask при том, что это СЕРВЕР
Flask - это не сервер. Это такая штука, к которой Python обращается, чтобы что-то сделать, а потом возвращает ответ от неё. Но и Python - это тоже не сервер. Сервер - это Waitress, который обращается к Python, чтобы тот что-то сделал, а потом возвращает ответ от него.

Dessan
Я 3 дня бегаю по всему интернету и не могу найти ответ.
Мне непонятно, как ты ищёшь по Интернету, если все твои вопросы, все твои выводы о невозможных операциях в первых ссылках на Яндексе лежат с кучей примеров.



Офлайн

#4 Апрель 15, 2020 01:46:15

Dessan
Зарегистрирован: 2019-10-16
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Динамическое обновление Web содержимого Flask сервера при получении Get запроса

Спасибо большое за много текста. Во много раз полезней был бы исправленный и рабочий вариант моего кода. Если не выходит как тогда я в консоле сервера вижу свой get запрос, но не вижу через html страницу, а если ввести через адресную строку, то все появится и на html тоже, только в том то и вся радость, чтоб не вручную вводить.
Да, Flask фреймворк, который работает на сервере, загружаемом питоном.
Эта куча примеров, в моём понимании, не решает мою задачу. С этим jsonify я уже что только не делал и как только не использовал и не только jsonify, но и json.dumps и через return и через функцию присваивал результат переменной и т.д. Не выходит у меня

Офлайн

#5 Апрель 15, 2020 03:07:36

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 8145
Репутация: +  734  -
Профиль   Отправить e-mail  

Динамическое обновление Web содержимого Flask сервера при получении Get запроса

Dessan
С этим jsonify я уже что только не делал и как только не использовал и не только jsonify, но и json.dumps и через return и через функцию присваивал результат переменной и т.д.
Что там можно делать? Дай ему словарь на питоне - и он превратит его в JSON-данные.

Dessan
Если не выходит как тогда я в консоле сервера вижу свой get запрос, но не вижу через html страницу, а если ввести через адресную строку, то все появится и на html тоже, только в том то и вся радость, чтоб не вручную вводить.
Открой консоль в браузере и смотри, что пишет в консоль браузера. Нужно понять, приходит ли ответ. FishHook сказал , что приходит наверняка. А вдруг не приходит? Сначала это надо определить точно, заглянув в консоль браузера.



Отредактировано py.user.next (Апрель 15, 2020 03:12:44)

Офлайн

  • Начало
  • » Web
  • » Динамическое обновление Web содержимого Flask сервера при получении Get запроса[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version