我有一个jQuery Ajax调用,如下所示:
$(“#标记”).keyup(函数(事件){
$.ajax({url://terms“,
类型:“POST”,
contentType:“应用程序/json”,
数据:JSON.stringify({“prefix”:$(“#tags”).val(),
数据类型:“json”,
成功:函数(响应){display_terms(response.terms);},
});
我有这样一种烧瓶法:
@app.route(“/terms”,methods=[“POST”]))
按前缀()定义术语:
req=flask.request.json
tlist=术语。按前缀查找前缀(req[“prefix”])
返回flask.jsonify({'terms':tlist})
tcpdump显示HTTP对话框:
POST/terms HTTP/1.1
主持人:127.0.0.1:5000
用户代理:Mozilla/5.0(X11;Linux i686;rv:12.0)Gecko/20100101 Firefox/12.0
接受:application/json,text/javascript,*/*;q=0.01
接受语言:en-us,en;q=0.5
接受编码:gzip,deflate
连接:保持活力
内容类型:application/json;字符集=UTF-8
X-request-With:XMLHttpRequest
推荐人:http://127.0.0.1:5000/
内容长度:27
Pragma:没有缓存
缓存控制:没有缓存
{“前缀”:“foo”}
但是,Flask没有保持活力
HTTP/1.0 200正常
内容类型:application/json
内容长度:445
服务器:Werkzeug/0.8.3 Python/2.7.2+
日期:2012年5月9日星期三17:55:04 GMT
{“条款”:[…]}
是否真的没有实施keep alive
默认的请求处理程序是WSGIRequestHandler
在app.run()之前,添加一行,
WSGIRequestHandler.protocol\u version=“HTTP/1.1”
不要忘记werkzeug.servicing导入WSGIRequestHandler的