Jquery ajax 按钮点击事件触发两次?
Jquery ajax button click event firing twice?
我有一个员工页面,其中显示了具有编辑选项的员工列表。单击编辑按钮 jquery-ajax
用于从服务器获取数据。
问题是当我单击编辑按钮时事件触发了两次。
我正在使用一个单独的 js 文件并将该文件引用到主 page.The 脚本工作正常,直到我将它移动到单独的 js 文件。
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 调用 - 一个仅具有 success
回调,另一个具有 error
回调。
在你的情况下,你的电话应该是这样的:
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 调用并执行这个。
我有一个员工页面,其中显示了具有编辑选项的员工列表。单击编辑按钮 jquery-ajax
用于从服务器获取数据。
问题是当我单击编辑按钮时事件触发了两次。
我正在使用一个单独的 js 文件并将该文件引用到主 page.The 脚本工作正常,直到我将它移动到单独的 js 文件。
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 调用 - 一个仅具有 success
回调,另一个具有 error
回调。
在你的情况下,你的电话应该是这样的:
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 调用并执行这个。