ajax文件上传
我很难在不重新加载页面的情况下上传,处理和显示文件。 我如何使用jquery将文件正确发布到服务器?
您可以将上传表单放在iframe
,然后使用javascript在主窗口和框架之间进行通信。 它很丑,但它是在某些浏览器中实现它的唯一方法。
jQuery文件上传是一个非常棒的插件,它包含异步XHR上传,并且可以用于不支持的浏览器的iframe
。 它还支持开箱即用的拖放(适用于function强大的浏览器)。 它不是世界上最简单的插件,但值得付出努力,它涵盖了所有的基础。
使用vanilla HTML,无法通过AJAX请求上传文件。 看看SWFUpload的内容 。 您可以上载多个文件,为文件部分指定通配符filter,并且能够在上载期间显示进度条和其他状态信息。
您可以上载包含INPUT [type =“file”]的表单,而无需使用jquery.upload.js重新加载页面。 在$ .Deferred.done处理程序中,您可以添加自己的代码以显示服务器响应。
$.upload( form.action, new FormData( myForm)) .progress( function( progressEvent, upload) { if( progressEvent.lengthComputable) { var percent = Math.round( progressEvent.loaded * 100 / progressEvent.total) + '%'; if( upload) { console.log( percent + ' uploaded'); } else { console.log( percent + ' downloaded'); } } }) .done( function( data) { console.log( 'Finished upload'); // add your code for rendering the server response // into html here });
你可以在这里得到它: https : //github.com/lgersman/jquery.orangevolt-ampere/blob/master/public/lib/ampere/jquery.upload.js