我在尝试将从 javascript 发送的字符串变量写入 cgi 中的 .txt 文件时遇到错误。这是带有错误的python cgi代码:
1 #!/usr/bin/python
2
3 import cgi, cgitb
4 cgitb.enable()
5
6 print "Content-type: text/html"
7 print
8
9 print "<html><head><title>Nimed</title></head><br/>"
10
12 formdata = cgi.FieldStorage()
13 tulemused = formdata.getvalue('tulemused')
14 f = open('/home/t103692/public_html/prax3/tulemused.txt', 'a')
=> 15 f.write(tulemused)
16 f.close()
f = <open file '/home/t103692/public_html/prax3/tulemused.txt', mode 'a'>, f.write = <built-in method write of file object>, tulemused = None
<type 'exceptions.TypeError'>: expected a character buffer object
args = ('expected a character buffer object',)
message = 'expected a character buffer object'
这是 javascript 代码,我在其中发送变量:
function saadaTulemused() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST","http://dijkstra.cs.ttu.ee/~t103692/cgi-bin/save.py", true);
xmlhttp.setRequestHeader("content-type","application/x-www-form-urlencoded");
xmlhttp.send(tulemused);
}
“tulemused”是字符串变量,它已经包含一些没有空格的文本。
我该如何解决这个错误?