gpt4 book ai didi

javascript - Jquery ajax 按钮单击事件触发两次?

转载 作者:数据小太阳 更新时间:2023-10-29 05:00:02 25 4
gpt4 key购买 nike

我有一个员工页面,其中显示了具有编辑选项的员工列表。单击编辑按钮时,jquery-ajax 用于从服务器获取数据。问题是当我单击编辑按钮时事件触发了两次。

我正在使用一个单独的 js 文件并将该文件引用到主页。在我将其移至单独的 js 文件之前,该脚本工作正常。

enter image description here

Jquery脚本是

  //ajaxGet on edit button click
$(document).on('click', '.editRole', ajaxGet);

var ajaxGet = function (e) {


var spinner = $(this).parent('div').find('.spinner');
var href = $("#editMenuSettings").data("url");
var menuRoleId = $(this).data('id');

spinner.toggle(true);

var options = {
type: "GET",
url: href,
data: { menuRoleId: menuRoleId }
};

$.ajax(options).success(function (data) {
spinner.toggle(false);
$(".modal-body").html(data);
$(".modal").modal({
backdrop: 'static'
});
});

$.ajax(options).error(function (data) {
spinner.toggle(false);
toastr.error("Oops..Some thing gone wrong");
});

return false;

};

最佳答案

您调用 $.ajax 两次。

在行

$.ajax(options).success(function(data)...

$.ajax(options).error(function(data)...

您实际上进行了两个不同 AJAX 调用 - 一个仅具有成功 回调,另一个具有错误 回调。

在您的情况下,您的调用应如下所示:

var options = {
type: "GET",
url: href,
data: { menuRoleId: menuRoleId }
};

$.ajax(options)
.success(function (data) {
spinner.toggle(false);
$(".modal-body").html(data);
$(".modal").modal({
backdrop: 'static'
});
})
.error(function (data) {
spinner.toggle(false);
toastr.error("Oops..Some thing gone wrong");
});

return false;

它将两个回调都设置为单个 AJAX 调用并执行这个调用。

关于javascript - Jquery ajax 按钮单击事件触发两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32818500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com