Клиентский код отправляет объект (в теле запроса POST) или строку запроса (если используется метод GET) через запрос ajax в скрипт cgi python. Обратите внимание, что параметры строки объекта / запроса - нет, поступающие из
<form> or <isindex>.
Как я могу получить эти параметры из серверного скрипта python, используя стандартные библиотечные модули (например, cgi)?
Огромное спасибо
Обновлено:
@codeape: Спасибо, но разве это не сработает только для отправленного формы? В моем случае форма не отправляется, только асинхронный запрос.
Используя ваш сценарий, len (f.keys ()) возвращает 0, если форма не отправлена! Я, вероятно, могу преобразовать запрос в отправку формы, но есть ли способ лучше?






Вы используете класс 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 ()) в теле запроса, а не в виде пар ключ-значение. Спасибо