为什么会有两次ajax,为什么jQuery ajax在这里发布两次?

在JavaScript中,遇到一个AJAX问题,即第二次点击添加新选项时,新选项被添加到第一次和第二次选择的元素中。经过调查,发现AJAX请求被触发了两次。通过在点击事件中使用unbind()方法解决了这个问题,但导致第二次点击不再有效。问题在于如何在不阻止后续功能的情况下正确处理元素。最终找到的方法是在AJAX成功回调中移除点击事件绑定。
摘要由CSDN通过智能技术生成

第一次选择“添加新”并添加新选项时,以下工作正常.第二次(对于按类别区分的不同元素),它将新选项添加​​到所选元素和第一个元素.这两个元素必然会重新出现.

$('#upload_form option[value="addnew"]').click(function(){

// Show modal window

$('#add-new').modal('show');

// Get the class

var Classofentry = $(this).attr("class");

$('#add-new-submit').on('click',function(){

// Get new option from text field

var value = $('#add-new-text').val();

console.log(value);

$.ajax({

type: "POST",url: "<?PHP echo site_url(); ?>main/change_options",data: {new_option: value,new_option_class: Classofentry},dataType: "html",error: errorHandler,success: success

});

function success(data)

{

$('#'+Classofentry).append("" + data + "");

//alert(data);

//alert('Success!');

}

function errorHandler()

{

alert('Error with AJAX!');

}

$('#add-new').modal('toggle');

});

});

奇怪的是,它似乎两次在ajax上传了一个帖子.我想它找到了所有“addnew”值(到目前为止有2个,会有更多).如何使用指定的类处理元素?希望这是有道理的.

谢谢你的回复!我找到了一种方法来让它工作,让点击嵌套,但解除第二个点击.我无法得到建议的solns(它不需要所有的功能).当它们没有嵌套时,似乎没有办法让第二次点击工作.我不知道为什么.在调用ajax的函数中也需要成功和errorHandler函数.这是代码(与上面的问题相同,但在第二次嵌套点击中使用unbind语句):

var Classofentry = '';

$('#upload_form option[value="addnew"]').click(function(){

// Show modal window

$('#add-new').modal('show');

// Get the class

var Classofentry = $(this).attr("class");

console.log(Classofentry);Thanks

$('#add-new-submit').on('click',function(){

// Get new option from text field

var value = $('#add-new-text').val();

console.log(value);

$.ajax({

type: "POST",success: success

});

$('#add-new-submit').unbind('click') //

$('#add-new').modal('toggle');

function success(data)

{

//$('#animal_species').append("" + data + "");

$('#'+Classofentry).append("" + data + "");

//alert(data);

//alert('Success!');

}

function errorHandler()

{

alert('Error with AJAX!');

}

});

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值