ajax嵌套陷阱
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嵌套陷阱的更多相关文章
- Spring MVC Ajax 嵌套表单数据的提交
概述 在一些场景里,某个大表单里常常嵌套着一个或若干个小逻辑块,比如以下表单里"设计预审"中包括了一个子模块表单"拟定款项". 在这种情况下该怎么去设计实体类以 ...
- ajax嵌套ajax 可能出现问题 的解决办法
ajax由于他的异步特性 在第一次请求中的循环中嵌套第二个ajax会数据会读不出来 第一种 描述:如果条件许可,把两次请求都放在服务端处理掉一起发回来,这些就在客户端只有一次ajax了 优点:代码放在 ...
- Ajax嵌套Ajax的模版
引入 在开发中,难免会碰到需要发送两次ajax请求或者更多的情况 情境:我们需要resultB数据,后台提供的接口要先传入参数paramA,获取到resultA,然后resultA作为参数,调用另外一 ...
- Ajax嵌套调用 (jquery) $.ajaxSettings.async = false;
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- Ajax请求内嵌套Ajax请求的方法
前段时间做项目,需要把全国省市的两个XML文件整合成一个JSON格式的数据,手写的话觉得数据太多了,而且容易出错,于是就想到了用Ajax嵌套的方法来解决,就想平时用Ajax的方法直接嵌套,都会先读出外 ...
- jquery 中多个存在依赖关系的ajax调用解决办法
在使用ajax异步调用的时候,可能碰到同时调用多个ajax这种情况.而且多个ajax之间还存在依赖关系.这种情况怎么处理呢? 有两种办法: 一种是多个ajax嵌套调用,这时需要设置async为fa ...
- 使用JQuery Deferred对象的then() 解决多个AJAX操作顺序依赖的问题
原文地址:http://www.2cto.com/kf/201507/424202.html 之前的文章javascript异步代码的回调地狱中提到了编写AJAX代码经常遇到的3个问题,现在我们看下如 ...
- JavaScript异步编程(2)- 先驱者:jsDeferred
JavaScript当前有众多实现异步编程的方式,最为耀眼的就是ECMAScript 6规范中的Promise对象,它来自于CommonJS小组的努力:Promise/A+规范. 研究javascri ...
- MVVM架构~Knockoutjs系列之js接收C#数据集合的方式
返回目录 在controller里将数据拿到,并且存储到ViewBag对象里,最后在View上显示出来,这是传统的MVC开发方式,事实上引入Knockoutjs以后,这种方式还是适合的,Knockou ...
随机推荐
- IIS首次发布VS2012创建的web应用程序时注册.net4.0
最近用VS2012创建的web应用程序,.net环境设置成了4.0,在用IIS发布的时候发现需要注册下.net4.0才能配置应用程序. 首先确保配置的电脑上已经安装了.net4,找到.net4所在文件 ...
- PAT甲级——A1036 Boys vs Girls
This time you are asked to tell the difference between the lowest grade of all the male students and ...
- Mysql指定部分数据同步
一.需求背景 朋友的公司需要每天定时从源端定时同步一部分数据到目标端,库中存在company_id列的表,只将指定的company_id列导入到目标端数据库:存在company_id列的表,将表中所有 ...
- Luogu P2831 愤怒的小鸟(状压+记忆化搜索)
P2831 愤怒的小鸟 题意 题目描述 Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于\((0,0)\)处,每次Kiana可以用它向第一象限发射 ...
- python 与 selenium 学习笔记
在写自动运行测试用例,并且生成HTML报告的时候,遇到了这个报错: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in positi ...
- Eclipse:Eclipse插件开发全套教程
分享是美德,作者为Eclipse核心工程师之一,全英文版,有不明白的地方欢迎探讨和咨询. http://www.vogella.com/tutorials/eclipse.html
- 在rabbitmq操作页面上添加队列、交换器及绑定示图
1.添加队列 2.添加交换器 3.绑定
- g++编译多个源原文件和头文件(转载)
(头文件名是:Sales_item.hpp 源文件名:7-31.cpp和Sales_item.cpp)(点击我下载源文件) 方法1: 我用的命令是:g++ -o 7-31 7-31.cpp Sales ...
- gin入门-1
Gin框架介绍 1. 简介Gin框架介绍A. 基于httprouter开发的web框架.http://github.com/julienschmidt/httprouterB. 提供Martini风格 ...
- Git--版本管理的使用及理解
如果多人合作时,git也是需要中间交换服务器来解决冲突合并,这不还是集中式版本控制吗? 而svn不是也可以将所有源码下载到本机,然后在本机修改,保存在本机上,为什么这个不能说是分布式,提交的时候不也是 ...