纯js实现上传文件小工具IE兼容性问题

https://www.jianshu.com/p/5147e36cf19c
这里写道非常方便的上传文件代码,但是用IE内核就无法上传文件,直接是不发送数据,不知道哪里出现了问题。直接不POST

chorme内核使用非常好。

也尝试过通过meta强制使用chorme内核,但是不行

<meta name="renderer" content="webkit"/>
<meta name="force-rendering" content="webkit"/>
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>

需要解决的上传代码如下

function easyUpload(){
  var input = document.createElement("input");
  input.type = "file";
  input.click();
  input.onchange = function(){
    var file = input.files[0];
    var form = new FormData();
    form.append("file", file); //第一个参数是后台读取的请求key值
    form.append("fileName", file.name);
    form.append("other", "666666"); //实际业务的其他请求参数
    var xhr = new XMLHttpRequest();
    var action = "http://localhost:8080/upload.do"; //上传服务的接口地址
    xhr.open("POST", action);
    xhr.send(form); //发送表单数据
    xhr.onreadystatechange = function(){
      if(xhr.readyState==4 && xhr.status==200){
        var resultObj = JSON.parse(xhr.responseText);
        //处理返回的数据......
      }
    }
  }
}

后台代码

<?php
//print_r($_FILES);
echo json_encode($_FILES);
sleep(5);
?>

2个回答

调试下,应该是 XMLHttpRequest 兼容问题
https://blog.csdn.net/hongtengfei523/article/details/48861669

suibianba111
Q,30320557 老师,我用的是IE11 不应该会出现IE6那么低版本的兼容问题鸭
4 个月之前 回复

可以尝试 xhr 设置一下 header 的 content-type 试试

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

0
plupload.full.min.js插件上传文件,文件名中含特殊字符不能上传,怎么解决呀?。。。
2
ajax通过js文件引入后的url问题
1
vue ie兼容问题求解答
1
javascript编写学生通讯录管理程序,怎么保存文件,要能够实现文件的读写的完整的思路
0
一个关于ie的兼容问题
0
用js上传文件到华为obs
1
关于原生 js 实现小程序的 onshow 和 onhide 事件
1
pdf.js 在IE10对象不支持“set”属性或方法
1
PDF.js在IE10的兼容问题:“Map”未定义
2
操作浏览器自带文件预览器
2
一个js文件怎么获取另一个js文件里更新后的变量值?
3
web小白请教,如何利用js url 下载服务器端文件?
3
web小白请教,如何利用js url 下载 .tar.gz 或 .zip 等压缩文件?
1
Nw.js打包Vue项目成exe文件后,运行exe文件2个小时左右出现闪退问题,没有报错什么的,有哪位大神知道怎么回事吗?
1
用百度WebUploader文件上传插件上传文件时能在前端对文件进行加密后再上传吗?
0
阿里云怎么用js解决多个文件上传,并且每个文件都是分片上传的?
0
使用jquery-powerfloat.js来实现的悬浮层效果在IE7或者IE8下运行,导致页面卡住
0
richfaces fileupload组件 怎么在js中获取文件对象(在js中获取文件的内容)
0
我有一组DICOM文件 上传到工具后显示是变色了。
0
vue如何封装一个组件,实现点击新增文件夹,文件夹下可以增加子文件