我想使用 JSON 来管理客户端/服务器之间的数据。但是,除了 JSON 之外,一切正常......我认为它来自我的 python 服务器,但我不是服务器编程专家,所以我真的不知道如何在我的 python 服务器中进行更改。我的 python 服务器真的很简单,因为我真的不知道如何在里面编程。如果我不使用 JSON,它可以完美地工作,但对数据进行排序并不是很有效。有没有一种简单的方法可以修改我的 python 服务器以接受 json(如果它来自 python 服务器)?
这是我的html:
<form method="post" id="formu" >
<textarea class="field span10" id="sequence" name="sequence" cols="4" rows="5"></textarea>
<input type="submit" value="Submit" class="btn btn-primary">
</form>
我的JavaScript:
$(document).ready(function() {
// formular
$('#formu').on('submit', function(e) {
e.preventDefault(); // Prevent default behavior
var sequence = $('#sequence').val();
$.ajax({
url : 'test.py',
type : 'post',
data : JSON.stringify({'sequence' : sequence}),
dataType: 'json',
success : function(data){
alert(data);
} // end of success function
}); // end of ajax
});
});
我的 ajax (test.py) 的 python 代码:
import json
result = {'myresult':'lalalalalal'};
myjson = json.load(sys.stdin)
result['fromclient'] = myjson['sequence']
print 'Content-Type: application/json\n\n'
print json.dumps(result)
还有我的python服务器:
#!/usr/bin/python
import BaseHTTPServer
import CGIHTTPServer
import cgitb; cgitb.enable()
import mimetypes
mimetypes.add_type("image/svg+xml", ".svg", True)
mimetypes.add_type("image/svg+xml", ".svgz", True)
mimetypes.add_type("application/javascript", ".js", True)
mimetypes.add_type("text/javascript", ".js", True)
mimetypes.add_type("text/plain", ".txt", True)
mimetypes.add_type("text/html", ".html", True)
mimetypes.add_type("application/perl", ".pl", True)
mimetypes.add_type("application/json", ".json", True)
server = BaseHTTPServer.HTTPServer
handler = CGIHTTPServer.CGIHTTPRequestHandler
server_address = ("127.0.0.1", 8080)
#handler.cgi_directories = ['/FOLDOMEweb']
handler.cgi_directories = ['/WEBSERVER']
httpd = server(server_address, handler)
try:
print "Running HTTP server"
httpd.serve_forever()
except KeyboardInterrupt:
print "Server Stoped"