在之前的一篇文章中,我试图使用HTML和Javascript将文件上传到服务器。我的实现遇到了几个问题,所以我采取了不同的方法。我在web服务器的cgi目录中有一个HTML表单和一个python脚本。这是我的HTML代码。。。在
function loadXMLDoc(){
var xmlhttp;
if (window.XMLHttpRequest){
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else{
// code for IE6, IE5 seriously, why do I bother?
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("outputDiv").innerHTML=xmlhttp.responseText;
}
}
var file = document.getElementById('idexample').value;
xmlhttp.open("GET","/cgi/ajax.py?uploadFile="+file,true);
xmlhttp.send();
}
Enter
我之所以使用AJAX,是因为我偶然发现,根据用户输入的文件,cgi脚本可能需要几分钟才能运行。我要做的是将文件的内容传递给pythoncgi脚本,并在页面上打印出来。我得到的只是“C:\fakepath\”。我要做的是获取文件内容。这是我的cgi脚本。。。在
^{pr2}$
我也应该用xmlhttp.open("POST","/cgi/ajax.py",true);
而不是xmlhttp.open("GET","/cgi/ajax.py?uploadFile="+file,true);
我都试过了,但是POST-one甚至没有返回我的文件名。另外,我读到我可能甚至不需要脚本中的标记,因为我使用javascript提交了这些信息。这是真的吗。我的页面在没有表单标签的情况下似乎可以正常工作(至少在Chrome和Firefox上是这样)。在