Найти - Пользователи
Полная версия: Динамическое обновление Web содержимого Flask сервера при получении Get запроса
Начало » Web » Динамическое обновление Web содержимого Flask сервера при получении Get запроса
1 2
Dessan
Нет, страница сервера - это не оговорка. Под страницей сервера я имею в виду тот html документ , который генерирует flask сервер. Как мне туда засунуть этот чёртов результат get запроса я понятия не имею.

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

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

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

Как же я буду парсить если сервер стоит на одном компьютере, а get запрос на сервер я отправляю с другого компьютера? И этот запрос может быть любым и повторяться и меняться. Я ж для того сервер и делаю, чтоб он стоял на одном компьютере, а доступ я к нему имел с любого компьютера локальной сети
py.user.next
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 дня бегаю по всему интернету и не могу найти ответ.
Мне непонятно, как ты ищёшь по Интернету, если все твои вопросы, все твои выводы о невозможных операциях в первых ссылках на Яндексе лежат с кучей примеров.
Dessan
Спасибо большое за много текста. Во много раз полезней был бы исправленный и рабочий вариант моего кода. Если не выходит как тогда я в консоле сервера вижу свой get запрос, но не вижу через html страницу, а если ввести через адресную строку, то все появится и на html тоже, только в том то и вся радость, чтоб не вручную вводить.
Да, Flask фреймворк, который работает на сервере, загружаемом питоном.
Эта куча примеров, в моём понимании, не решает мою задачу. С этим jsonify я уже что только не делал и как только не использовал и не только jsonify, но и json.dumps и через return и через функцию присваивал результат переменной и т.д. Не выходит у меня
py.user.next
Dessan
С этим jsonify я уже что только не делал и как только не использовал и не только jsonify, но и json.dumps и через return и через функцию присваивал результат переменной и т.д.
Что там можно делать? Дай ему словарь на питоне - и он превратит его в JSON-данные.

Dessan
Если не выходит как тогда я в консоле сервера вижу свой get запрос, но не вижу через html страницу, а если ввести через адресную строку, то все появится и на html тоже, только в том то и вся радость, чтоб не вручную вводить.
Открой консоль в браузере и смотри, что пишет в консоль браузера. Нужно понять, приходит ли ответ. FishHook сказал , что приходит наверняка. А вдруг не приходит? Сначала это надо определить точно, заглянув в консоль браузера.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB