【前端】利用ajax实现伪文件异步上传下载

利用ajax可以实现很酷的效果,在不刷新页面的情况下提交表单、修改数据状态等等,可是如果表单里还有input:file可就惨了,ajax不支持文件的处理啊!

ajax是使用了浏览器内部的XmlHttpRequest对象来传输XML数据的。既然是Xml的数据传输,那么传输的数据肯定是文本的,而文件上传则需要传输二进制的数据,显然用ajax是不可能的。

可是ajax这么好用,大家也都习惯了这种开发和使用体验,试想如果form表单包含文件上传,那提交表单要刷新整个页面,提交成功还好,提交失败了表单数据可都没有了,这颗真难受。有没有什么办法能实现类似的逻辑呢?

请注意以下属性:form:target、iframe、parrent.callback() ,我们利用这些小属性,来完成伪·ajax上传下载文件吧。

<!-- 这是数据表单 -->
<form action="/upload" id="form1" method="post"  enctype="multipart/form-data" target="hidden_frame">
	<input type="file" name="uploadfile" accept="*" />
	<input type="submit" value=
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值