我正在使用jQuery ajax加载保存在FTP服务器中的文件。需要显示Progress loader中加载的文件的百分比。Ajax调用使用FTP加载Json文件,需要显示百分比加载进度条
以前我有HTTP请求和使用XMLHttpRequest工作。以下是有效的代码。
$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
// Upload progress
xhr.upload.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
var percentComplete = (evt.loaded/evt.total)*100;
var loadPercent = '<div id="fountainTextG">'+Math.round(percentComplete)+'% complete ..</div>';
$(".sqlLoading").html(loadPercent).removeClass("hide");
jsAPP.sqlLoading = true;
}
}, false);
// Download progress
xhr.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
var percentComplete =(evt.loaded/evt.total)*100;
var loadPercent = '<div id="fountainTextG">'+Math.round(percentComplete)+'% complete ..</div>';
$(".sqlLoading").html(loadPercent).removeClass("hide");
jsAPP.sqlLoading = true;
}
}, false);
return xhr;
},
type: 'POST',
url:'ftp://192.168.1.157/pub/1.json',
dataType: "jsonp",
jsonpCallback:"abc",
success: function(obj){
console.log("File loaded successfully");
},
error:function(err,stat,erroT){
$(".page").html("<div class='data_error'> Sorry! No data available for this city.</div>");
}
});
但是这不适用于FTP请求。有没有办法在FTP上显示进度加载器?请帮助。
只是好奇 - ajax是否支持ftp? –
好吧,我做了一些挖掘,并认为[XMLHttpRequest](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest)支持其他协议即viz。 FTP。也许你可以使用[File API](https://developer.mozilla.org/en-US/docs/Web/API/File)与XMLHttpRequest一起来实现你的目标。 –