各路大神好,最近尝试用 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> 1
GoPython 2018-07-14 08:35:09 +08:00 via Android
Emmmm,或许你截图错误出来还好一点
|
2
zackary OP 额。。。问题好像解决了,button 的 type 之前是 submit,改成 button 就可以了
|
3
wukaichao 2018-07-14 09:04:28 +08:00 via iPhone
获取 dom 的时候 js 和 jquery 混用看着比较难受
|
4
wly19960911 2018-07-14 09:06:13 +08:00
一个建议:活用 markdown,别把一大串代码和压缩一样丢过来,没法看。实在不行用 gist 也可以
|
5
itsluo 2018-07-14 09:08:06 +08:00
这样复制代码过来怎么看...最起码截个图好吧
|