JavaScript-jquery不用插件如何实现文件异步上传
一个项目中需要上传文件,想用异步的方式实现,又不想引进jquery.Uploadify插件(因为需要flash),能不能用自带的post方法,像提交表单一样指定enctype="multipart/form-data"来实现异步上传文件。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
$('#upFile_form').attr('action', url).ajaxSubmit({
dataType : 'JSON',
success : function(data, status){
....
return false;
});
在这之前需要将form的submit关闭:
$('#upFile_form').submit(function(){return false ;});
此外,还有一种方法,用ajaxfileupload.js也可以实现,原理就是构建了一个iframe。但是这种方法的ajax提交不能使用ajaxsetup做处理,lz自己选择吧
你可以使用XHR作为上传方式,不需要Flash支持,一个比较成熟的项目是jQuery File Upload。上传文件大小取决于服务器设置。
我写过一篇定制jQuery File Upload的文章可以供参考。
大部分的说法就是以下代码:
//先建一个iframe,然后form的target指向它。
<form action="upload.php/upload.jsp" enctype="multipart/form-data" method="post" target="iframefile"></form>
<iframe id='iframefile' name='iframefile' style="display:none"/>
//后台处理完成功之后输出前台js:
<script type="text/javascript">
alert("sucess!")
</script>;