【问题标题】:retrieving XMLHttpRequest parameters in python在python中检索XMLHttpRequest参数
【发布时间】:2009-01-16 02:59:49
【问题描述】:

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

<form> or <isindex>.

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

非常感谢

编辑:
@codeape:谢谢,但这不是只适用于提交的表单吗?就我而言,没有提交任何表单,只是一个异步请求。
使用您的脚本,如果没有提交任何表单,len(f.keys()) 将返回 0!我可能可以将请求重新转换为表单提交,但是有更好的方法吗?

【问题讨论】:

    标签: python ajax cgi


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      codeape 已经回答了这个问题。仅作记录,请理解 HTTP 请求的发出方式是完全正交的——服务器得到的是一个 HTTP 请求,句号。

      【讨论】:

        【解决方案3】:

        @codeape@bruno desthuilliers

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

        【讨论】:

          猜你喜欢
          • 2019-01-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-01-25
          • 2014-12-12
          • 1970-01-01
          • 2018-07-20
          • 2011-04-20
          相关资源
          最近更新 更多