发布从Jquery到python的params

时间:2013-07-02 12:04:57

标签: jquery python web-services post param

我正试图在我的小python Web服务中从Jquery捕获一个POST。 这是javascript:

function testpyserv(){

    $.post('http://localhost/', {method : "preview", patient_id : 3} ,function(data) {
        console.log(data);
    });
}

这是python中的服务器端

 def do_POST(self):
        global rootnode
        try:
            ctype, pdict = cgi.parse_header(self.headers.getheader('content-type'))
            if ctype == 'application/x-www-form-urlencoded':
                print "ctype"
                query = urlparse.parse_qsl(self.rfile, pdict) 
                self.send_response(301)
                self.end_headers()


                #preview image
                if query['method'] == 'preview':
                    print "in preview"
                    #parse data
                    patient_id = query['patient_id']
                    self.wfile.write("got the post")

        except :
            print "bug"
            pass

我的问题是查询['方法']没有返回我所期望的(在这种情况下是“预览”),如果我尝试打印它,它打印“bug”,我找不到我是怎么回事必须这样做。

我认为语法错误。 你能帮我吗 ?

编辑:以下是解决问题的方法:

 length = int(self.headers.getheader('content-length'))
 query = cgi.parse_qs(self.rfile.read(length), keep_blank_values=1)

请参阅Python: BaseHTTPRequestHandler post variables

0 个答案:

没有答案