加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax 和bootstrap混用手残出现的一个bug

发布时间:2020-12-16 02:02:33 所属栏目:百科 来源:网络整理
导读:前端是这样的 原本的逻辑是点击提交之后,出现模态框,然后点击评论之后 用ajax把数据提交给后端,看起来没问题,但是手残把两个按钮嵌套一起了, (代码并不完整) 错误的代码 $("#回复按钮").on('click',function(){ //获得回复对象的信息; $("模态框中的

前端是这样的


原本的逻辑是点击提交之后,出现模态框,然后点击评论之后用ajax把数据提交给后端,看起来没问题,但是手残把两个按钮嵌套一起了,

(代码并不完整)

错误的代码

$("#回复按钮").on('click',function(){
 //获得回复对象的信息;
 $("模态框中的评论").on('click' function(){
 //获得弹出框中的绰号和内容
 .ajax({
 传输数据;
 });
 )};
)};

然后问题就来了,我们可以看到这个效果


评论1正常,评论2显示了两次,评论三经测试果然显示了三次

这个问题就出在了两个button on click事件的嵌套上

第一次按下外部的button回复 它开始监听内部的button评论是否被按下,第二次按下外部button,第一次的外部button在监听内部的button被点击的时间,第二次的外部button同样在监听,于是会给服务器post两次数据,以此类推........

解决方案,把两个button的click事件分开写

正确代码

$("#回复按钮").on('click',function(){
//获得回复对象的信息;
)};

$("弹出框中的评论").on('click' function(){
//获得弹出框中的绰号和内容
.ajax({
传输数据;
});

)};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读