【发布时间】:2013-12-12 07:02:47
【问题描述】:
您好,我正在尝试从 nginx 后面的 wsgi 服务器获取 ajax 响应(如果重要的话)。我认为我在读取请求时遇到问题,因为变量 request_body_size 似乎始终为 0;当我想查看“测试字符串”时,我在警报框中得到“无请求”的返回值。
我找不到很多关于这个的文档或这个工作的例子,所以如果有人知道如何解决这个问题,我将不胜感激。
我在 WSGI 脚本中有这个 python 代码:
import os, sys
from cgi import parse_qs
def application(environ, start_response):
try:
request_body_size = int(environ.get('CONTENT_LENGTH', 0))
except (ValueError):
request_body_size = 0
context = {}
if request_body_size != 0:
request_body = environ['wsgi.input'].read(request_body_size)
output = parse_qs(request_body)
else:
output = "No request"
status = '200 OK'
response_headers = [('Content-type', 'text/html'),('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
这是发出请求的js(jquery):
function test_request()
{
var test_string = "test string";
$.ajax({
type: 'GET',
url:"/ajax",
data: test_string,
success:function(result){alert(result)}}
);
}
【问题讨论】:
-
为什么不使用框架,例如。 G。烧瓶?
-
主要是因为我对它的工作原理感兴趣,但我也不认为我需要这个功能。
标签: python ajax nginx wsgi uwsgi