Передача переменных между Python и Javascript

Представьте себе, что вам нужно написать Javascript, который просто меняет набор флажков при изменении раскрывающегося списка.

В зависимости от того, какой элемент выбран в списке, некоторые флажки будут отмечены / не отмечены.

В обратном, у вас есть код Python вместе с некоторыми SQLAlchemy.

Javascript должен идентифицировать выбранный элемент в списке как обычно, отправить его обратно в модуль Python, который затем будет использовать переменную в некоторой SQLAlchemy, чтобы вернуть список флажков, которые нужно проверить, т.е. «Пользователь выбрал« Форд », поэтому флажки «Фокус», «Мондео», «Фиеста» необходимо проверить »

Проблема Im, заключающаяся в том, что я не могу найти способ доступа к модулям python из Javascript, не превращая div в мини-страницу браузера и передавая в нее URL-адрес, содержащий переменные!

Есть ли у кого-нибудь идеи о том, как это должно работать?

  • Flask SQLAlchemy db.create_all () не создает базу данных
  • Python SqlAlchemy - AttributeError: mapper
  • Общий способ получения первичного ключа из декларативно определенного экземпляра в SQLAlchemy
  • sqlalchemy общий внешний ключ (например, в django ORM)
  • Исходный родитель SQLAlchemy при изменении дочерних изменений
  • Создавайте много ко многим на одном столе
  • Ошибка SQLAlchemy Сервер MySQL ушел
  • SQLAlchemy: создание или повторное использование сеанса
  • 2 Solutions collect form web for “Передача переменных между Python и Javascript”

    Забавно, у меня есть веб-страницы с JavaScript, которые говорят с модулями CGI Python, которые используют SQLAlchemy.

    То, что я делаю, – это отправить запрос AJAX, но с запросом JSON в теле вместо XML. Модули CGI Python используют стандартный json модуль для десериализации JSON в словаре.

    Сторона JavaScript выглядит так:

     function on_request_success(response) { console.debug('response', response); } function on_request_error(r, text_status, error_thrown) { console.debug('error', text_status + ", " + error_thrown + ":\n" + r.responseText); } var request = { ... }; jQuery.ajax({ url: 'http://host/whatever.cgi', type: 'POST', cache: false, data: JSON.stringify(request), contentType: 'application/json', processData: false, success: on_request_success, error: on_request_error }); 

    И Python вот так:

     request = json.load(sys.stdin) response = handle_request(request) print("Content-Type: application/json", end="\n\n") json.dump(response, sys.stdout, indent=2) 

    Обратите внимание, что он не использует модуль cgi Python, поскольку весь запрос передается как JSON в теле.

    python имеет json модуль, который идеально подходит для этого сценария.

    используя старый добрый AJAX, с json, поскольку формат данных позволит вам обмениваться данными между javascript и вашим модулем python.

    (если ваш python-модуль не работает на стороне клиента, но тогда я не вижу, как вы могли бы выполнить его из браузера …)

    Python - лучший язык программирования в мире.