• form 表单提交被拦截的问题处理方法


       异步ajax提交数据到服务器处理信息,处理成功后将返回的数据装载到对应界面的表单隐藏域中,然后再使用  $(document.body).append($form);   $form.submit();  提交表单,此时遇到谷歌、IE等浏览器拦截表单提交后的URL新窗口,思考了很久,终于找到了解决办法:

    以下内容转载自http://hezlh.blog.163.com/blog/static/1781091152013227101559654/

         一般情况下用  js  或  jquery  的  submit  方法提交  form  表单是不会被浏览器拦截的,但是发现异步的情况下用  js  提交  form  表单就会被浏览器拦截,这样就对功能的实现带来了很多的麻烦。网上看了好多都是同样的问题,解决办法都不是很理想,下面来详细分析下这个问题。 
           既然是在  ajax  中使用表单提交,肯定是需要  ajax  返回结果以后确定一个最终状态才能决定是否要提交表单。而ajax又是异步返回结果的,所以在返回结果后再决定提交表单,肯定会被浏览器拦截。
        那我们就想,jQuery   ajax   有没有同步的使用方法呢?答案是有的,在调用  ajax  时添加   async: false   这个参数即可。试了后发现,咦,真的可以!
        这个方法虽然是同步的,但是不违反这么使用的目的,如果  ajax  没有返回结果,当然也不能确定是否可以提交表单。在解决这个问题的时候,可能思路锁定在了  ajax  只能做异步的事,所以没有想到这样的解决办法。所以这个解决办法是有效的。

  • 相关阅读:
    python简单文件服务器
    Qt5WebSockets
    cartographer ros 配置项
    ubuntu18.04 evo 测评工具安装
    ubuntu18.04 orb_slam2安装记录
    clonezilla使用说明
    会计报名
    将博客搬至CSDN
    JS--微信浏览器复制到剪贴板实现
    Python--Django学习笔记2
  • 原文地址:https://www.cnblogs.com/guoyu234/p/7080516.html
Copyright © 2020-2023  润新知