ajax 请求在 IE11 下失败的问题

2018-07-14 08:32:30 +08:00
 zackary

各路大神好,最近尝试用 python 框架 flask 最一个网站,js 也是现学的,水平比较次。项目做完后发现有一个页面在 chrome 下完全正常,在火狐浏览器和 IE11 就出现请求失败的问题。

该页面是实现一个进度条显示,使用 ajax 发送异步请求,一个请求真实的任务函数,一个请求执行状态(每隔 1 秒请求一次)

具体 js 代码如下。在 chrome 下一切正常,但是在 IE11 下,点击 DA 这个 Button 后没有任何反应,调试模式下发现 ajax 下的 post 请求根本没有发送,但多次不停点击 Button 后,又能正常运行,post 请求正常,显示正常,

麻烦大神们帮忙看下,具体哪里出问题,谢谢!

<script> $(document).ready(function () { $("#DA").click(function () { var DA = document.getElementById("DA"); var CA = document.getElementById("CA"); DA.setAttribute("disabled", "disabled"); CA.setAttribute("disabled", "disabled"); console.log(DA); var seed = Math.random(); console.log(seed); var hostname = "{{ result }}";//获取例检主机名称 var hosttype = "{{ type }}";//获取例检主机名称 alert(hostname) $("#bar").attr("class", "progress-bar progress-bar-striped active"); $("#bar").width(0); $.ajaxSetup({ cache: false }); var sitv = setInterval(function () { var urlStr = "/check/autocheck_status/" + Math.random(); $.ajax({ url: urlStr, data: {seed: seed}, type: 'POST', async: true, success: function (percent) { var bar = document.getElementById("bar"); bar.style = "width: " + percent + "%"; $("#bar").width(percent + '%'); console.log(percent) }, }) }, 1000); $.ajax({ url: "{{ url_for("autocheck_run") }}", type: 'POST', async: true, dataType:"json", data: { hostname: hostname, type: hosttype, seed: seed }, success: function (data) { clearInterval(sitv); $("#bar").width(100 + "%"); $('#bar').attr("class", "progress progress-bar-success"); var para = document.createElement("h5"); para.id = "result"; var element = document.getElementById("pic"); var flag = data.flag var filename = data.filename if( flag==="success"){ var node = document.createTextNode("例检完成"); para.appendChild(node); element.appendChild(para); var a = document.createElement("a"); var node1 = document.createTextNode("导出报告"); a.appendChild(node1); var down_link = "/download/" + filename a.setAttribute("href",down_link); a.className="btn btn-primary btn-xs"; var element1=document.getElementById("result"); element1.appendChild(a) } else{ var node2 = document.createTextNode("例检失败"); para.appendChild(node2); element.appendChild(para); } CA.removeAttribute("disabled") }, }) }) }); </script>
3893 次点击
所在节点    JavaScript
5 条回复
GoPython
2018-07-14 08:35:09 +08:00
Emmmm,或许你截图错误出来还好一点
zackary
2018-07-14 08:49:40 +08:00
额。。。问题好像解决了,button 的 type 之前是 submit,改成 button 就可以了
wukaichao
2018-07-14 09:04:28 +08:00
获取 dom 的时候 js 和 jquery 混用看着比较难受
wly19960911
2018-07-14 09:06:13 +08:00
一个建议:活用 markdown,别把一大串代码和压缩一样丢过来,没法看。实在不行用 gist 也可以
itsluo
2018-07-14 09:08:06 +08:00
这样复制代码过来怎么看...最起码截个图好吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/470795

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX