ajax嵌套陷阱

$('.ajaxupd').click(function () {
$('.shadow1').show();
$('.update').show(); var tds=$(this).parent().prevAll();
var cids=$(tds[0]).attr('classid');
var tname=$(tds[1]).text();
var tid=$(tds[2]).text();
var l='';
console.log(cids,666);
for(i of cids){
if(i!='['&&i!=']'&&i!=' '){
l=l+i
}
}
l_s=l.split(',');
var c_s=[];
for(i of l_s){
c_s.push(i)
}
console.log(c_s,88);
$('#cid').val(c_s);
$('#tid').val(tid);
$('#tname').val(tname);
}); $('#ajaxcancel').click(function () {
$('.shadow1, .update').hide();
}); $('#ajaxtijiao').click(function () { $.ajax({
type:'POST',
url:'/appteacher/ajax_up_teacher/',
traditional:true,
data:{'tname':$('#tname').val(),'tid':$('#tid').val(),'cid':$('#cid').val()}, success:function (data) {
console.log(11121212121);
console.log(data);
if(data['code']==10000){
alert('更改成功');
window.location.href='/appteacher/teacher/';
}else {
alert('更改失败');
}
}
})
})

这里一共有三个点击事件:

$('.ajaxupd').click—-----—1

$('#ajaxcancel').click-------2

$('#ajaxtijiao').click———3

一号事件发生后二号和三号事件才能触发,但是之前为了方便传值,我直接把二号和三号事件写在了一号事件里面.

问题来了!

如此,若是点击一号后点击三号取消,二号会持续处于监听状态,(多次如此操作会有多个提交监听事件).

待到之后若是点击二号这些事件会同时触发,造成修改错乱,甚至会导致多个数据库同时操作相同数据而出错.

总结:ajax事件尽量不要使用嵌套!

感谢小何同学的指导.

ajax嵌套陷阱的更多相关文章

  1. Spring MVC Ajax 嵌套表单数据的提交

    概述 在一些场景里,某个大表单里常常嵌套着一个或若干个小逻辑块,比如以下表单里"设计预审"中包括了一个子模块表单"拟定款项". 在这种情况下该怎么去设计实体类以 ...

  2. ajax嵌套ajax 可能出现问题 的解决办法

    ajax由于他的异步特性 在第一次请求中的循环中嵌套第二个ajax会数据会读不出来 第一种 描述:如果条件许可,把两次请求都放在服务端处理掉一起发回来,这些就在客户端只有一次ajax了 优点:代码放在 ...

  3. Ajax嵌套Ajax的模版

    引入 在开发中,难免会碰到需要发送两次ajax请求或者更多的情况 情境:我们需要resultB数据,后台提供的接口要先传入参数paramA,获取到resultA,然后resultA作为参数,调用另外一 ...

  4. Ajax嵌套调用 (jquery) $.ajaxSettings.async = false;

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  5. Ajax请求内嵌套Ajax请求的方法

    前段时间做项目,需要把全国省市的两个XML文件整合成一个JSON格式的数据,手写的话觉得数据太多了,而且容易出错,于是就想到了用Ajax嵌套的方法来解决,就想平时用Ajax的方法直接嵌套,都会先读出外 ...

  6. jquery 中多个存在依赖关系的ajax调用解决办法

    在使用ajax异步调用的时候,可能碰到同时调用多个ajax这种情况.而且多个ajax之间还存在依赖关系.这种情况怎么处理呢?   有两种办法: 一种是多个ajax嵌套调用,这时需要设置async为fa ...

  7. 使用JQuery Deferred对象的then() 解决多个AJAX操作顺序依赖的问题

    原文地址:http://www.2cto.com/kf/201507/424202.html 之前的文章javascript异步代码的回调地狱中提到了编写AJAX代码经常遇到的3个问题,现在我们看下如 ...

  8. JavaScript异步编程(2)- 先驱者:jsDeferred

    JavaScript当前有众多实现异步编程的方式,最为耀眼的就是ECMAScript 6规范中的Promise对象,它来自于CommonJS小组的努力:Promise/A+规范. 研究javascri ...

  9. MVVM架构~Knockoutjs系列之js接收C#数据集合的方式

    返回目录 在controller里将数据拿到,并且存储到ViewBag对象里,最后在View上显示出来,这是传统的MVC开发方式,事实上引入Knockoutjs以后,这种方式还是适合的,Knockou ...

随机推荐

  1. 原生js实现头像大屏随机显示

    效果如下图所示: 一.html部分 <div class="myContainer"> <ul> <li class="first" ...

  2. hibernate4一对多关联多方多写一次外键导致无法创建java.lang.NullPointerException以及Cannot add or update a child row: a foreign key constraint fails

    一篇文章里边有多张图片,典型的单向一对多关系 多方 当程序运行到这一句的时候必然报错 但是参考书也是这样写的 其中em是 EntityManager em = JPA.createEntityMana ...

  3. 016-WebDriver API(2)

    1. 多表单切换 WebDriver只能在一个页面上对元素进行识别和定位,无法直接定位frame/iframe表单内嵌页面上的元素,这是就需要通过switch_to.frame()方法将当前定位的主体 ...

  4. 10 种最常见的 Javascript 错误(频率最高)

    本文是小编给大家收藏的JavaScript 中频度最高的 10 种错误,我们会告诉你什么原因导致了这些错误,以及如何防止这些错误发生.写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学 ...

  5. PHP--年龄转生日、生日转年龄

    /** * 年龄转生日(模糊结果) * @parameter int age(年龄) * @parameter string symbol(分隔符) * @return string (yyyy*mm ...

  6. textarea高度自动增高

    <!--随着textarea 输入内容 自动增加高度--> <script type="text/javascript"> $(".input_t ...

  7. Cors之带凭据的请求

    带凭据的请求 默认情况下,跨源请求不提供凭据.通过将withCredentials属性设置为true,可以制定某个请求应该发送凭据.

  8. 20190818 [ B ]-½

    请看到这个蒟蒻博客的人注意一下. 这是简单的[ B ]场考试,如果需要[ A ]场题解请去神犇们的blog. [ B ]场不需要题解,恩? 太蒟蒻了QAQ 考试过程: 怀着我是蒟蒻我怕谁的心情. 首先 ...

  9. vim 简明教程(转自飘过的小牛)

    vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...

  10. hihocoder 1142 三分·三分求极值(三分)

    题目1 : 三分·三分求极值 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 这一次我们就简单一点了,题目在此: 在直角坐标系中有一条抛物线y=ax^2+bx+c和一个点 ...