欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

jquery ajax異步上傳

錢良釵2年前8瀏覽0評論

jQuery是一種常用的JavaScript類庫,它通過簡化DOM操作和事件處理,大大提高了JavaScript的效率和易用性。在jQuery中,Ajax通常用于異步請求和處理服務器返回的數據。在本文中,我們將重點介紹jQuery的File Upload插件,它可以通過Ajax異步上傳文件并實現圖片預覽和進度條顯示等功能。

$(document).ready(function() {
$('#fileupload').fileupload({
url: 'upload.php',
dataType: 'json',
autoUpload: false,
acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,
maxFileSize: 5000000, // 5MB
disableImageResize: /Android(?!.*Chrome)|Opera/
.test(window.navigator.userAgent),
previewMaxWidth: 100,
previewMaxHeight: 100,
previewCrop: true
}).on('fileuploadadd', function(e, data) {
data.context = $('
').appendTo('#files'); $.each(data.files, function(index, file) { var node = $('

').append($('').text(file.name)); if (!index) { node.append('
') .append(uploadButton.clone(true).data(data)); } node.appendTo(data.context); }); }).on('fileuploadprocessalways', function(e, data) { var index = data.index, file = data.files[index], node = $(data.context.children()[index]); if (file.preview) { node .prepend('
') .prepend(file.preview); } if (file.error) { node .append('
') .append($('').text(file.error)); } if (index + 1 === data.files.length) { data.context.find('button').text('Upload') .prop('disabled', !!data.files.error); } }).on('fileuploadprogressall', function(e, data) { var progress = parseInt(data.loaded / data.total * 100, 10); $('#progress .progress-bar').css( 'width', progress + '%' ); }).on('fileuploaddone', function(e, data) { $.each(data.result.files, function(index, file) { if (file.url) { var link = $('') .attr('target', '_blank') .prop('href', file.url); $(data.context.children()[index]) .wrap(link); } else if (file.error) { var error = $('').text(file.error); $(data.context.children()[index]) .append('
') .append(error); } }); }).on('fileuploadfail', function(e, data) { $.each(data.files, function(index) { var error = $('').text('File upload failed.'); $(data.context.children()[index]) .append('
') .append(error); }); }).prop('disabled', !$.support.fileInput) .parent().addClass($.support.fileInput ? undefined : 'disabled'); });

以上代碼是jQuery的File Upload插件調用示例,涵蓋了插件的基本參數設置和事件處理。其中,設置url參數為服務器端接受上傳文件的地址;設置dataType參數為服務器返回的數據類型;設置autoUpload參數為false時,需要手動觸發上傳動作;設置acceptFileTypes參數為限制可上傳文件類型的正則表達式;設置maxFileSize參數為限制可上傳文件大小的字節數;設置disableImageResize參數為在移動設備和Opera瀏覽器上禁用圖片縮放;設置previewMaxWidth和previewMaxHeight參數為預覽圖像的最大寬度和高度;設置previewCrop參數為預覽圖像是否裁剪。

除此之外,我們還可以根據需要添加其他事件的處理函數,例如fileuploadadd、fileuploadprocessalways、fileuploadprogressall、fileuploaddone和fileuploadfail等。其中,fileuploadadd事件用于添加文件到文件列表;fileuploadprocessalways事件用于顯示文件上傳進度;fileuploadprogressall事件用于更新進度條;fileuploaddone事件用于顯示圖片預覽和處理返回的數據;fileuploadfail事件用于處理上傳失敗的情況。

通過結合jQuery的File Upload插件,我們可以輕松實現Ajax異步上傳和處理文件功能,為Web應用程序帶來更多交互和娛樂效果。