XMLHttpRequest.upload.addEventListener("progress"... 不工作
XMLHttpRequest.upload.addEventListener("progress"... not working
我尝试通过调用 XMLHttpRequest.upload.addEventListener("progress", progressHandler, false); 来填充上传栏。显然我的函数 progressHandler 根本没有被调用。我不知道为什么。
其他一切正常,例如文件上传完成后completeHandler的调用。我的测试文件的上传大约需要。 15 秒,所以我希望 progressHandler 被调用。
也许有人可以帮助我?
var formdata = new FormData();
formdata.append("uploadfilename", file);
formdata.append("inte", ticketid);
formdata.append("username", userName);
formdata.append("custname", custName);
formdata.append("userlastname", userLastName);
formdata.append("par", par);
formdata.append("mod", mod);
var ajax = new XMLHttpRequest();
ajax.upload.addEventListener("progress", progressHandler, false);
ajax.addEventListener("load", completeHandler, false);
ajax.addEventListener("error", errorHandler, false);
ajax.addEventListener("abort", abortHandler, false);
ajax.open("POST", "mod/intern/uploader_upload_done.php", false);
ajax.send(formdata);
var response = JSON.parse(ajax.responseText);
// parsing response
....
function progressHandler(event)
{
var percent = 100 *(event.loaded / event.total);
_("fortschritt").value = Math.round(percent);
_("fortschritt_txt").innerHTML = Math.round(percent)+"% done...";
}
function completeHandler(event)
{
_("fortschritt_txt").innerHTML = event.target.responseText;
_("fortschritt").value = 100;
_("ticketid").value = '';
}
function errorHandler(event)
{
_("fortschritt_txt").innerHTML = "Upload failed";
}
function abortHandler(event)
{
_("fortschritt_txt").innerHTML = "Upload cancelled";
}
您正在同步上传文件,请尝试将 open()
调用更改为
ajax.open("POST", "mod/intern/uploader_upload_done.php", true);
我尝试通过调用 XMLHttpRequest.upload.addEventListener("progress", progressHandler, false); 来填充上传栏。显然我的函数 progressHandler 根本没有被调用。我不知道为什么。
其他一切正常,例如文件上传完成后completeHandler的调用。我的测试文件的上传大约需要。 15 秒,所以我希望 progressHandler 被调用。
也许有人可以帮助我?
var formdata = new FormData();
formdata.append("uploadfilename", file);
formdata.append("inte", ticketid);
formdata.append("username", userName);
formdata.append("custname", custName);
formdata.append("userlastname", userLastName);
formdata.append("par", par);
formdata.append("mod", mod);
var ajax = new XMLHttpRequest();
ajax.upload.addEventListener("progress", progressHandler, false);
ajax.addEventListener("load", completeHandler, false);
ajax.addEventListener("error", errorHandler, false);
ajax.addEventListener("abort", abortHandler, false);
ajax.open("POST", "mod/intern/uploader_upload_done.php", false);
ajax.send(formdata);
var response = JSON.parse(ajax.responseText);
// parsing response
....
function progressHandler(event)
{
var percent = 100 *(event.loaded / event.total);
_("fortschritt").value = Math.round(percent);
_("fortschritt_txt").innerHTML = Math.round(percent)+"% done...";
}
function completeHandler(event)
{
_("fortschritt_txt").innerHTML = event.target.responseText;
_("fortschritt").value = 100;
_("ticketid").value = '';
}
function errorHandler(event)
{
_("fortschritt_txt").innerHTML = "Upload failed";
}
function abortHandler(event)
{
_("fortschritt_txt").innerHTML = "Upload cancelled";
}
您正在同步上传文件,请尝试将 open()
调用更改为
ajax.open("POST", "mod/intern/uploader_upload_done.php", true);