在python中检索XMLHttpRequest参数

时间:2009-01-15 07:38:43

标签: python ajax cgi

客户端代码通过ajax请求向python cgi脚本提交一个对象(在POST请求体中)或查询字符串(如果使用GET方法)。请注意,对象/查询字符串参数来自

<form> or <isindex>.

如何使用标准库模块(例如cgi)从服务器端python脚本中检索这些参数?

非常感谢

修改
@codeape :谢谢,但这不仅适用于提交的表单吗?在我的例子中,没有提交任何表单,只是一个异步请求。
如果没有提交表单,使用你的脚本len(f.keys())返回0!我可以重新提交请求作为表单提交,但有更好的方法吗?

3 个答案:

答案 0 :(得分:5)

您使用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))

答案 1 :(得分:0)

codeape已经回答了这个问题。只是为了记录,请理解HTTP请求的发出方式是完全正交的 - 服务器得到的是HTTP请求,句点。

答案 2 :(得分:0)

@codeape @bruno desthuilliers

实际上,cgi.FieldStorage()检索参数。我之前得到的输出显然是由于我在参数的主体中将参数作为字符串(JSON.stringify()对象)传递 - 而不是作为键值对。 感谢