Получение параметров XMLHttpRequest в python

Клиентский код отправляет объект (в теле запроса POST) или строку запроса (если используется метод GET) через запрос ajax в скрипт cgi python. Обратите внимание, что параметры строки объекта / запроса - нет, поступающие из

<form> or <isindex>.

Как я могу получить эти параметры из серверного скрипта python, используя стандартные библиотечные модули (например, cgi)?

Огромное спасибо

Обновлено:
@codeape: Спасибо, но разве это не сработает только для отправленного формы? В моем случае форма не отправляется, только асинхронный запрос.
Используя ваш сценарий, len (f.keys ()) возвращает 0, если форма не отправлена! Я, вероятно, могу преобразовать запрос в отправку формы, но есть ли способ лучше?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
3
0
3 951
3

Ответы 3

Вы используете класс cgi.FieldStorage. Пример сценария CGI:

#! /usr/bin/python

import cgi
from os import environ
import cgitb
cgitb.enable()

print "Content-type: text/plain"
print
print "REQUEST_METHOD:", environ["REQUEST_METHOD"]
print "Values:"
f = cgi.FieldStorage()
for k in f.keys():
    print "%s: %s" % (k, f.getfirst(k))

codeape уже ответил на это. Просто для записи, пожалуйста, поймите, что способ отправки HTTP-запроса полностью ортогонален - сервер получает HTTP-запрос, точка.

@codeape, @bruno desthuilliers:

Действительно, cgi.FieldStorage () извлекает параметры. Выходные данные, которые я получал ранее, по-видимому, были связаны с передачей параметров в виде строки (объект JSON.stringify ()) в теле запроса, а не в виде пар ключ-значение. Спасибо

Другие вопросы по теме