我如果直接用表格提交的话可以传送文件,但是如果使用下面的XMLHttpRequest传送的话却无法传送为啥呢???
- JScript code
$( function() { var progressBar = document.querySelector("#progressBar"); var file = document.querySelector("#file"); file.onchange = function(){ };//onchange $("#MainBoard #submit").click( function(){ if(file.files[0]) { $("#progressBar").css("display","inline"); $("#MainBoard input").attr("disabled","disabled"); var xhr = new XMLHttpRequest(); if(xhr) { xhr.open('POST','mySpace_addFile.php'); //soit utilise xhr.onreadystatechange if(xhr.readyState == 1)//1==Opened { xhr.onload = function(){ if(xhr.readyState==4) alert("Upoload over"); else alert("Error in upload"); $("#progressBar").css("display","none"); $("#MainBoard input").removeAttr("disabled"); };//onload xhr.upload.onprogress = function(e){ progressBar.value = e.loaded; progressBar.max = e.total; };//onprogres var form = new FormData(); form.append('new_file', file.files[0]);//这个是文件,应该在$_FILES里 form.append('anti_multipl',$("anti_multipl").val());//这个是变量,应该在$_POST里 xhr.send(form); }else{ alert("Cannot open server for upload"); } } } });//click });//ready
------解决方案--------------------
估计xhr做不了这个,
这个应该算作无刷新上传文件
记得以前看到有动态过建一个iframe让那个iframe以 提交文件的方式上传..网上应该有很多这类的库文件,
2用flash模块上传..
------解决方案--------------------
ajax不能上传文件
enctype="multipart/form-data"
并不是ajax post的形式