我正在使用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一起來實現你的目標。 –