Считаю до трех
С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918
|
Добавлено: 17/12/20 в 16:16 |
Вдруг кто-то что-то знает. Задача такая - отправить данные из Javascript в скрипт на Python и получить обратно результат. Кажется просто, но только кажется. Два дня усиленного гугления ничего толком не дали.
С JavaScript понятно - отправить данные через AJAX. Но как получить их в Python?
Никакой Python веб фреймворк не используется, а никаких нормальных средств на получение данных как оказалось и нету. Или я не нашел.
Нашлись пока два варианта - через sys.stdin, но тут вопросы с безопасностью.
Второй - вроде как FieldStorage, но это не точно и вообще рабочих вариантов я не нашел.
Ставить фреймворк нельзя, так как сам сайт на PHP.
|
|
|
|
С нами с 25.09.20
Сообщения: 196
Рейтинг: 33
|
Добавлено: 17/12/20 в 17:13 |
g python get data from javascript
|
|
|
|
Считаю до трех
С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918
|
Добавлено: 17/12/20 в 17:29 |
Я написал, что я это все уже читал. Там в большинстве случаев используется фреймворк, которого у меня нет. Либо часто вместо ответа рассуждения что было бы неплохо использовать веб-сокеты.
|
|
|
|
С нами с 27.04.07
Сообщения: 2
Рейтинг: 17
|
Добавлено: 17/12/20 в 17:35 |
Ajax запрос - это обычный http запрос. Его кто-то на стороне сервера должен принять и ты хочешь чтобы его принял Python скрипт. Значит этот скрипт должен висеть и слушать 80 порт для получения запроса, но так нельзя, ведь есть сайт который работает на ПХП. А перед тем как ПХП скрипт получит запрос еще висит и web сервер который собственно слушает 80 порт. Как минимум есть такие пути:
1) настроить чтобы nginx (Apache ила какой там web сервер стоит) передавали запросы определенного uri на твой питоновский скрипт
2) получить данные в php а он перенаправит данные в питоновский скрипт (exec, system или еще каким-то образом)
3) запустить все таки питоновский фреймворк но на каком-то отдельном порте (например 8080) и посылать ajax запрос с прямым указанием порта
У каждого пути есть свои минусы.
|
|
|
|
Считаю до трех
С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918
|
Добавлено: 17/12/20 в 23:46 |
Спасибо за развернутый ответ.
Была мысль с php, но это получается дикий огород: Javascript передает PHP, тот передает Python, а потом это все в обратном порядке. Тогда уже точно лучше фреймворк. Правда установка в таком варианте для меня слишком сложная, ведь надо чтобы один порт обращался к фреймворку, а другой работал с php и они как-то вместе существовали.
Ну или вообще убирать php и все под фреймворк переделывать.
Пока получилось принимать данные через FieldData, но передавать файлы я еще не пробовал, полдня бился с установкой дополнительных библиотек на Python, которые через pip вообще никак ставиться не хотели.
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |