色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

ajax jquery文件進度

林子帆2年前7瀏覽0評論

最近在做一個上傳文件的應用,需要實時顯示文件的上傳進度,于是利用了Ajax和jQuery來完成。下面分享一下我自己的做法。

首先,在HTML頁面中創建一個文件上傳表單,并添加一個進度條:

<form id="upload-form" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<button type="submit">上傳</button>
</form>
<div id="progress-bar"></div>

然后,在JavaScript中使用jQuery來處理表單的提交事件,并使用Ajax來實現文件的異步上傳。

$(document).on("submit", "#upload-form", function(event) {
event.preventDefault(); // 阻止表單默認提交行為
var formData = new FormData(this); // 獲取表單數據
var xhr = new XMLHttpRequest(); // 創建XMLHttpRequest對象
xhr.upload.addEventListener("progress", function(event) {
if (event.lengthComputable) {
var percentComplete = event.loaded / event.total * 100;
$("#progress-bar").css("width", percentComplete + "%"); // 更新進度條
}
}, false);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText); // 表示上傳成功
}
};
xhr.open("POST", "upload.php", true); // 創建并打開POST請求,true表示異步請求
xhr.send(formData); // 發送表單數據
});

上面的代碼中,我們使用了XMLHttpRequest的upload對象來監聽上傳進度事件,并根據已上傳的字節數和總字節數計算出上傳進度百分比。然后,我們利用jQuery來更新進度條的樣式。在XMLHttpRequest的onreadystatechange事件中,當服務器返回成功狀態碼200時,表示文件上傳成功。

最后,在后端的upload.php文件中,我們可以像處理普通的表單數據一樣,通過$_FILES數組獲取上傳的文件信息。這里就不貼出PHP代碼了,大家可以根據自己的項目需要進行相應的處理。