首页 新闻 搜索 专区 学院

xmlHttpRequest的post问题

0
悬赏园豆:50 [已关闭问题] 关闭于 2013-04-01 14:32

做的项目中,使用python写了一个服务器,主要是利用SimpleHTTPServer.SimpleHTTPRequestHandler来处理。

其中的do_POST方法是自己重写的:

 1 import SimpleHTTPServer
 2 import SocketServer
 3 import cgi
 4 
 5 host = ''
 6 port = 8080
 7 
 8 
 9 class simpleHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
10     def do_POST(self):
11         try:
12             
13             form = cgi.FieldStorage(
14                                     fp = self.rfile,
15                                     headers = self.headers,
16                                     environ = {
17                                                'REQUEST_METHOD':'POST',
18                                                'CONTENT_TYPE':self.headers.getheader('current-type')
19                                                }    
20                                     )
21         
22 
23             print form
24     
25 
26         except IOError:
27             self.send_error(404, ' POST error');
28 
29  
30 conn = SocketServer.TCPServer((host, port), simpleHandler)
31 
32 
33 print 'start server at port:', port
34 
35 conn.serve_forever()

 

 

项目主要实现的是:

可以通过这个python服务器访问index.html文件,显示页面,上面有视频在播放,可以通过控制play , pause等button来操作视频的播放,html中引用了js文件去处理这些play,pause等event,主要通过addEventListener,其中也定义了

xmlHTTPRequest: xmlHttp = new XMLHttpRequest();

并且,用了

1     xmlHttp.open('POST', '192.168.0.61:8080', true);
2     xmlHttp.onreadystatechange = state_change;
3     xmlHttp.setRequestHeader('content_type', 'application/x-www-form-urlencoded');
4     xmlHttp.send(str);

其中str是我想要发送给服务器的字符串,使用这种方法,在python服务器端可以收到消息,print form 可以显示如下:

start server at port: 8080
FieldStorage(None, None, 'loadstart event happend')
SH-DEV-JFAN - - [25/Mar/2013 13:55:33] code 404, message File not found
SH-DEV-JFAN - - [25/Mar/2013 13:55:33] "GET /favicon.ico HTTP/1.1" 404 -
FieldStorage(None, None, 'play event happend')
FieldStorage(None, None, 'playing event happend')
FieldStorage(None, None, 'pause event happend')

 

 

我的问题是,如何只显示play event happend, 而不是整个的显示FieldStorage(....'Play event happend')

 

这个python服务器是否还有更改的地方,或者是比较大的错漏?

 

刚刚学习,有很多不懂的地方,请大家帮手教育。。。。

二师兄89的主页 二师兄89 | 菜鸟二级 | 园豆:204
提问于:2013-03-25 13:56
< >
分享
所有回答(1)
0

这个怎么解决的?

bryan151 | 园豆:204 (菜鸟二级) | 2017-09-07 23:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册