修改客户端的wsgi集成

mod wsgi integration with client side

本文关键字:集成 wsgi 客户端 修改      更新时间:2023-09-26

我有以下代码发送数据(参数)到mod_wsgi文件在该文件中有'应用程序'函数我如何从我的应用程序函数读取参数值(那些我从我的js发送)?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript">
    <!--
        function onTest( dest, params )
        {
            var xmlhttp;
            if (window.XMLHttpRequest)
            {// code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp=new XMLHttpRequest();
            }
            else
            {// code for IE6, IE5
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange=function()
            {
                if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                    document.getElementById( "bb" ).innerHTML = xmlhttp.responseText;
                }
            }
            xmlhttp.open("POST",dest,true);
            xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
            debugger;
            xmlhttp.send( params ); 
        }

    -->
    </script>
</head>

<p id="bb"> abcdef </p>
<a href="javascript:onTest('wsgi_app.py', 'user=dan&pwd=1234')">Click it</a>

mod_wsgi代码:

def application(environ, start_response):
output = ChildClass().getValue()
print( output)
status = '200 OK'
stroutput = ''
for iterating_var in output:
    values = ','.join(str(v) for v in iterating_var)
    #str = ''.join(output[0])
    print('second  ' + values)
    stroutput +=  '&&' + values
    #print(str.encode('UTF-8'))
response_headers = [('Content-type', 'text/plain'),
                    ('Content-Length', str(len(stroutput)))]
start_response(status, response_headers)
return [stroutput.encode('UTF-8')]

我是这样解决的:

request_body_size = int(environ['CONTENT_LENGTH'])
request_body = environ['wsgi.input'].read(request_body_size)
strBody = str(request_body)