【发布时间】:2013-11-24 20:47:29
【问题描述】:
我想观察从 GWT 上传文件的上传百分比。
在 JavaScript 中,您可以使用 XMLHttpRequest 并像这样添加事件侦听器:
var oReq = new XMLHttpRequest();
oReq.upload.addEventListener("progress", updateProgress, false);
// progress on transfers from the server to the client (downloads)
function updateProgress (oEvent) {
if (oEvent.lengthComputable) {
var percentComplete = oEvent.loaded / oEvent.total;
// ...
} else {
// Unable to compute progress information since the total size is unknown
}
}
(以上代码来自here。)
这在 jQuery 中也很容易做到:
var $request = $.ajax({
xhr: function() {
xhrNativeObject = new window.XMLHttpRequest();
//Upload progress
xhrNativeObject.upload.addEventListener("progress", function(event) { ... }
}
});
我想对 GWT 做同样的事情。我可以使用RequestBuilder 发送请求,但这只是 XMLHttpRequest JavaScriot 对象的高级包装。另一种可能性是使用 GWT XMLHttpRequest 类,它是 JavaScript XMLHttpRequest 的 JSNI 包装器。
我的问题:
如何向 XMLHttpRequest 或 RequestBuilder 添加进度监听器?
【问题讨论】:
标签: java javascript jquery gwt servlets