上传文件问题(iframe方式)

需求:

  1. 兼容ie8/9

  2. 上传文件

  3. 页面无刷新

  4. 之后执行回调,获取服务器端的响应内容

为了兼容性,所以不能用H5FormData
暂时能想到的就是通过iframe来实现。但是现在碰到个不知道该怎么解决的问题。

先看下我现在的页面结构
https://img3.mukewang.com/5bc3067b0001f3e106420187.jpg

我在[type="file"]上绑定了change事件,change后触发form提交

  • 当我提交的方式为post的时候,如上图所示,服务器端返回的所有内容都被装进了body下,由浏览器自动生成的pre标签中(目测是因为浏览器的安全机制,不知道这里该怎么处理)

  • 当我改成get提交的时候,iframe内可以正常显示返回的html内容(甚至包括<!DOCTYPE),但是因为get方式的限制,提交不了较大的文件啊(印象中get只支持255字节)

所以暂时总结一下就是:

  • post方式,可以正常上传文件,但是无法处理返回值(因为跨域 + 浏览器安全机制不能添加脚本)

  • get方式,无法上传文件

所以,跪求满足需求的方案。。。


翻阅古今
浏览 1162回答 2
2回答

ABOUTYOU

4是如何解决的?iframe加回调值
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript