ajax表单提交较慢原因的解决办法
2024-08-25 20:17:58
ajax提交表单时,发现过了好长时间才有反应。使用F12打开开发人员工具一看,发现提示“provisional headers are shown”。
百度了一下,才知道可能是ajax异步提交和form表单默认提交的关系没处理好,容易导致进程锁死,进而导致反应时间比较长。
于是,借鉴了别人介绍的解决办法“在函数中加上“event.preventDefault()”阻止默认事件和异步提交事件相冲突,问题顺利解决。
(有的说 用return false,便可阻止默认事件,但是通过这个来看,有些阻止的不彻底,还是要加上event.preventDefault())
<script src="/app/sss/view/common/js/jquery.js""></script> <div id="common_box">
<div id="cli_on"><img src="{:RES}/img/jt.png" alt=""></div> <div class="gu_w" > <form id="suggestForm" class="submit" method="post" action="{:url('About/feedbacks')}" name="foot_form" onSubmit="return foot_Checkfeedback();"> <div class="">
<div class="gu_b">
<i>Inquiry title*</i>
 <input type="text" class="" id="intrs" name="intrs"placeholder="Must fill" />
</div>
<div class="gu_b">
<i>Content*</i>
 <textarea name="workintrs" id="workintrs" cols="30" rows="10" class=""placeholder="Must fill" ></textarea>
</div>
<div class="gu_b ">
<i>Company name</i>
  <input type="text" class="" id="name" name="name" />
</div>
<div class="gu_b">
<i>Tel</i>
  <input type="text" class="" id="mobile" name="mobile" />
</div>
<div class="gu_b">
<i>E-mail*</i>
<!-- 邮  箱: -->
 <input type="text" class="" id="emls" name="emls" placeholder="Must fill" />
</div>
<div class="gu_c"> <button class=" layui-btn layui-btn-warm btn btn-warning">Submit</button>
</div>
</div>
</form>
</div>
</div>
<!-- 固定窗口 -->
<script type="text/javascript">
window.onload = function() {
var combox = document.getElementById("common_box");
var cli_on = document.getElementById("cli_on");
var flag = true, timer = null, initime = null, r_len = 0;
cli_on.onclick = function () {
/*如果不需要动态效果,这两句足矣
combox.style.right = flag?'-270px':0;
flag = !flag;
*/
clearTimeout(initime);
//根据状态flag执开展开收缩
if (flag) {
r_len = 0;
timer = setInterval(slideright, 10);
} else {
r_len = -270;
timer = setInterval(slideleft, 10);
}
}
//展开
function slideright() {
if (r_len <= -270) {
clearInterval(timer);
flag = !flag;
return false;
} else {
r_len -= 5;
combox.style.right = r_len + 'px';
}
}
//收缩
function slideleft() {
if (r_len >= 0) {
clearInterval(timer);
flag = !flag;
return false;
} else {
r_len += 5;
combox.style.right = r_len + 'px';
}
}
//加载后3秒页面自动收缩
initime = setTimeout("cli_on.click()", 100);
}
</script>
<!-- 固定窗口结束 -->
<!-- 表单正则 -->
<script language='javascript'>function foot_Checkfeedback(){ if (document.foot_form.intrs.value.trim().length == 0) {
swal('Inquiry title cannot be empty');
document.foot_form.intrs.focus();
return false;}
var email = document.foot_form.emls.value;
var pattern = /^[a-z0-9A-Z]+[- | a-z0-9A-Z . _]+@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\.)+[a-z]{2,}$/;
chkFlag = pattern.test(email); if(!chkFlag){
swal('Email is error! !');
document.foot_form.emls.focus(); return false;}
if (document.foot_form.workintrs.value.trim().length == 0) {
swal('Content cannot be empty');
document.foot_form.workintrs.focus();
return false;} $.ajax({
type: "POST",//方法
url: "{:url('About/feedbacks')}" ,//表单接收url
data: $('#suggestForm').serialize(),
success: function () {
//提交成功的提示词或者其他反馈代码
//var result=document.getElementById("success");
//result.innerHTML="成功!";
document.getElementById("intrs").value="";
document.getElementById("workintrs").value="";
document.getElementById("name").value="";
document.getElementById("mobile").value="";
document.getElementById("emls").value="";
swal('success!'); },
error : function() {
//提交失败的提示词或者其他反馈代码
//var result=document.getElementById("success");
//result.innerHTML="失败!";
swal('failure!')
}
}); event.preventDefault();//防止起冲突,要阻止默认的行为
return false;
};
</script>
最新文章
- Android 6.0 - 动态权限管理的解决方案
- leetcode刷题全纪录(持续更新)
- 微信企业号开发之-如何获取secret 序列号
- 20145337《Java程序设计》第三周学习总结
- Apache Spark源码走读之24 -- Sort-based Shuffle的设计与实现
- Windows下python的配置
- 一种简单的权限管理ER图设计
- http://src.chromium.org/svn/ 定制chrome浏览器教程及源码
- windows下wamp多域名的配置
- 笔记:Spring Cloud Eureka 高可用注册中心
- .Net Core 通过依赖注入和动态加载程序集实现宿程序和接口实现类库完全解构
- Python List 删除元素
- CSS 隐藏页面元素的 几 种方法总结
- spring 文件加载 通过listener的类获取配置文件 并加载到spring容器中
- Leetcode 20.有效的括号 By Python
- Linux常用基本命令(head)
- python模拟QQ聊天室(tcp加多线程)
- 洛谷——P2393 yyy loves Maths II
- juqery和dom对象互换
- UVA11426 GCD - Extreme (II)---欧拉函数的运用
热门文章
- 发现一个可以搜索常用rpm包的地址(http://www.rpmfind.net/)
- mysql 5.7源码安装
- 读CRecordset
- Windows下Linux 环境 Cygwin安装及配置 基本工具使用
- 微信公众平台——获取access_token、expires_in
- photoshop:制作sprite拼贴图片
- ASP.NET Core 1.0 基础之配置
- EasyUI datagrid 明细表格中编辑框 事件绑定 及灵活计算 可根据此思路 扩展其他
- Android实战简易教程-第二十八枪(基于Bmob实现头像图片设置和网络上传功能!)
- [CF 295A]Grag and Array[差分数列]