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