Перейти к содержимому

Как из javascript передать данные в python

  • автор:

Курсы javascript

Здравствуйте! Я не спец а javascript, а задачу, как я понимаю, реально решить только с его помощью.

Ситуация следующая: имеется восемь блоков с информацией, они генерируются django в шаблон. В каждом блоке есть кнопка, при нажатии на которую открывается funcybox окошко с информацией, какой блок выбрал пользователь и какие данные будут отправлены. После того, как пользователь подтверждает данные и нажимает кнопку в окне, мне нужно эти самые данные передать методом POST в скрипт на python.

В общем реализовал все, кроме передачи этих самых данных в скрипт, потому как полей в форме html нет, а данные надо как-то передать. Чувствую что тут можно спастись javascropt’ом.

Подскажите, как мне это сделать?

Получение переменной из js в python

У меня есть выпадающий список, выбранные элементы которого записываются в переменную, которую я вывожу в консоль. Такой вопрос: Как реализовать получение переменной( selectedItem.value ) из js во flask python ? app.py:

description = ['one','two','three','four','five','six'] @app.route('/', methods=['GET', 'POST']) def login(): if request.method == 'POST': docs = request.form.getlist('sel') return render_template('login.html', description=description) return render_template('login.html', description=description) 
    

Полный код тут
Отслеживать
задан 5 июл 2020 в 6:46
655 3 3 серебряных знака 11 11 бронзовых знаков

Возможный дубликат вопроса: Кнопка вызова функции python flask – посмотрите в ответе раздел 2.3, там показана передача данных из JS в Python.

5 июл 2020 в 6:49

@AivanF., спасибо. т.е только с помощью ajax можно передать? я просто не понимаю как это в моем случае реализовать

5 июл 2020 в 6:54

да, точнее с помощью HTTP запросов, это (не считая WebSockets) единственный способ связи браузерной страницы и серверного кода. Данные можно и в большинстве случаев нужно передавать в формате JSON, для этого сформируйте JS объект с нужными серверу данными и кидайте через AJAX по URI пути, который будет обрабатываться сервером должным образом. А извлекать значения из

5 июл 2020 в 7:01
@AivanF., обновил с использованием AJAX . Можете посмотреть?
5 июл 2020 в 7:03

Что я говорил про обработчик?) На браузере отправляется запрос по адресу /login/ , но в серверном коде нет соответствующего @app.route . В общем, сейчас сделаю работающую версию.

5 июл 2020 в 7:06

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

      
from flask import Flask, request, render_template, jsonify app = Flask(__name__) description = ['one','two','three','four','five','six'] # Браузер обращается по пути "/", но с методом GET @app.route('/', methods=['GET']) def login(): if request.method == 'POST': docs = request.form.getlist('sel') return render_template('login.html', description=description) return render_template('login.html', description=description) # Из скрипта мы обращаемся по тому же пути, но методом POST @app.route('/', methods=['POST']) def login_post(): data = request.json print('Got data:', data) return jsonify(< 'status': 'SUCCESS', 'data': data, >) if __name__ == '__main__': app.run() 

Как передать функцию как параметр в Python?

Поскольку функция в Python является объектом, ее можно передавать в другую функцию в качестве аргумента. При этом функция в аргументе указывается без круглых скобок, то есть передается только ссылка на функцию.

def calculate(a, b, operation): result = operation(a, b) return result def sum(a, b): return a + b def multiply(a, b) return a * b calculate(2, 3, sum) # 5 calculate(3, 4, multiply) # 12 

Функции, которые могут принимать другие функции в качестве аргументов, также называются функциями высшего порядка. Яркий пример функции высшего порядка — функция map() , которая принимает аргументом функцию и итерируемую последовательность, и применяет функцию-параметр к каждому элементу последовательности.

Как из Node.js передать в скрипт Python?

Приветствую, у меня есть задача:
Передать объект нового пользователя в python script, если все ключи в объекте будут соответствовать требованиям, то скрипт вернет «OK», если же нет, то вернет определенную ошибку.
не знаю зачем, но вот мой web server на всякий случай:

const cors = require('cors'); const express = require('express'); const path = require('path'); const app = express(); const bodyParser = require('body-parser'); const sequelize = require('./database/database') const getUsersFromAccounts = require('./routes/getUsersFromAccounts') app.use(cors()); app.use(express.static(path.join(__dirname, 'dist'))); app.use(express.json()); app.use('/getUsersFromAccounts', getUsersFromAccounts); app.get('*', (req, res) => < res.sendFile(path.join(__dirname, 'dist/aat/index.html')) >); const port = process.env.PORT || 4000; async function start() < try < await sequelize.sync() app.listen(port, (req, res) =>< console.log(`Server running in port $`); >) > catch (e) < console.log(e); >> start();

Я понимаю, что мне нужно сделать post запрос и передать в контроллере данные в скрипт, но как это правильно пишется не понимаю. Может кто-то поделиться полезной инфой? Использую sequelize.

  • Вопрос задан более двух лет назад
  • 103 просмотра

1 комментарий

Простой 1 комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *