ajaxfileupload IE10 拒绝访问

功能:点击一个按钮,实现图片异步上传,并展示上传结果
实现:点击按钮–>出发fileupload 的click事件–>上传图片–>出发file的change–>监听change,动态创建form表单,提交到服务端,target 设置为一个隐藏的iframe–>监听iframe 的load事件,读取服务端返回结果进行展示

如上流程在IE11,chrome 中都正常,在IE10 上form表单post 时候,报告 “拒绝访问”,错误

解决办法:不通过点击按钮触发input的click事件,直接将透明file覆盖在按钮上方,如上问题解决

DEMO代码如下

<!DOCTYPE html>
<html>
<head>
    <Meta charset="UTF-8">
    <script type="text/javascript" src="jquery.min.js"></script>
</head>
<body>
<div id="container">
    点击上传图片
</div>
<input type="file" id="hidenImgUpload" name="hidenImgUpload" style="width:100px;height: 100px; position: absolute;top:0px;left: 100px;;" >

<script> $(function(){ $("#hidenImgUpload").change(function(){ $.ajaxFileUpload({ url: 'uploadImage.html',secureuri: false,fileElementId: 'hidenImgUpload',//file标签的id dataType: 'json',//返回数据的类型 data: {},//一同上传的数据 success: function (data,status) { if (data.success) { alert("上传成功"); } else { alert("上传失败"); } },error: function (data,status,e) { alert(e); } }); }) }) </script>
</body>
</html>

另外排查问题经验总结: 1. 删除掉所有的try catch 防止异常被吃掉 2. 使用源代码调试,不要使用压缩版本,这样可以更直接看到错误内容 3. 细心比较DEMO与异常代码差异,不要错误出在哪里,就钉在哪里,要开放,找不到原因的时候可以休息一下,换换脑子,说不定就灵光乍现。 4. 排查异常的简易DEMO还是有价值的,但是极其复杂的问题,还是在出现异常的场景直接排查肯能更简单

相关文章

JS原生Ajax操作(XMLHttpRequest) GET请求 POST请求 兼容性问题 利用iframe模拟ajax 实现表单提交的返回...
AJAX 每日更新前端基础,如果觉得不错,点个star吧 &#128515; https://github.com/WindrunnerMax/E...
踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSe...
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈。 为了防止...
需要在服务器上进行哈 jquery的ajax方法: // jquery请求 $.ajax({ url: &quot;./server/slider.js...
Ajax函数封装ajax.js // Get / Post // 参数 get post // 是否异步 // 如何处理响应数据 // URL // var...