在使用jQuery AJAX上傳文件時,有時候需要取消上傳操作。這時候可以通過以下方法來實現:
$.ajax({ type: 'POST', url: 'upload.php', data: formData, processData: false, contentType: false, xhr: function() { var xhr = $.ajaxSettings.xhr(); xhr.upload.onprogress = function(e) { if (e.lengthComputable) { var percent = Math.round((e.loaded / e.total) * 100); console.log(percent + '%'); } }; return xhr; }, beforeSend: function() { // 在發送請求之前執行的操作 }, success: function(data) { // 請求成功后執行的操作 }, error: function(xhr, textStatus, errorThrown) { // 請求失敗時執行的操作 } }); // 取消上傳操作 $.ajax.abort();
上面的代碼中,我們創建了一個XHR對象,并在其upload屬性上綁定了一個onprogress事件。這個事件會在文件上傳過程中觸發,用來更新上傳進度。
在請求上傳文件之前,我們可以執行一些操作,比如設置上傳接口的地址、構造formData表單數據等。
如果需要取消上傳操作,只需執行$.ajax.abort()
即可。