var xhr = new XMLHttpRequest();
//进度条
xhr.upload.addEventListener("progress", uploadProgress, false);
//下载
xhr.addEventListener("load", uploadComplete, false);
//错误信息
xhr.addEventListener("error", uploadFailed, false);
//取消,此功能没有做
xhr.addEventListener("abort", uploadCanceled, false);
//上传
xhr.open("POST", "UploadFile.action");
//发送xhr.send(fd);
xhr.send(fd);
}
//进度条显示
function uploadProgress(evt) {
//判断a有没有超出范围
if (a < fileNum && a != fileNum) {
//此处的evt就是文件上传的所有信息。
//evt.lengthComputable,文件是否是空
if (evt.lengthComputable){
//evt.loaded:文件上传的大小 evt.total:文件总的大小
var percentComplete = Math.round((evt.loaded) * 100 / evt.total);
//加载进度条,同时显示信息
document.getElementById("" + a + "").innerHTML = percentComplete.toString() + '%';
document.getElementById("num" + a + "").value = percentComplete / 100;
//如果上传的结果是100时才让加载下一个文件。如果不够100会继续上传原来的文档。
if (percentComplete == 100) {
a++;
//加载下一个文档
uploadFile(file[a]);
}
}
}//// else { ////document.getElementsByName('progressNumber').innerHTML = 'unable to compute'; //// }
}
function uploadComplete(evt){}
function uploadFailed(evt){alert("上传失败.");}
function uploadCanceled(evt){alert("取消.");}
不熟悉XMLHttpRequest在网上看到这个,可以用,但问题是我应该怎样获取后台传来的json呢?
例如上传完成后function uploadComplete(evt){}在个方函数里怎么获取后台传来的json呢?
请高手说说,谢谢!
------解决思路----------------------
添加个 onreadystatechange 试试,对接你的回调方法
参考 http://blog.csdn.net/magi1201/article/details/44569657