调用getvalue时不会打印CGI python

时间:2014-05-28 13:56:53

标签: jquery python ajax json

我用ajax jquery发送一个json,我想用python打印一个txt文件中的数据: 客户端:

<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title>test</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>
        $(function(){
            $('#clickme').click(function(){
                alert('Im going to start processing');
                $.ajax({
                    url: "test.py",
                    type: "post",
                    datatype:"json",
                    data: {'key':'value','key2':'value2'},
                    success: function(response){
                        alert(response.message);
                        alert(response.keys);
                    }
                });
            });
        });
    </script>
</head>
<body>
    <button id="clickme"> click me </button>
</body>

服务器:

import json`import cgi`
fs = cgi.FieldStorage()
out_file = open("test.txt","w")
for k in fs.keys(): 
    out_file.write(fs.getvalue(k))

但代码不会打印任何内容

1 个答案:

答案 0 :(得分:0)

要帮助调试问题,请将整个环境写入文件。这将是所有的GET args。

  1. 在您的Ajax代码中将'post'更改为'get'

  2. 尝试这样的代码(未经测试):

    导入操作系统 打开(&#39; /tmp/output.log',&#39; a&#39;)作为outf:    outf.write(repr(os.environ))    outf.write(&#39; \ n&#39)