在 JQUERY AJAX 函数之后重置应用程序状态
Posted
技术标签:
【中文标题】在 JQUERY AJAX 函数之后重置应用程序状态【英文标题】:Reset application STATE after JQUERY AJAX Function 【发布时间】:2022-01-08 02:04:19 【问题描述】:有没有办法在每次调用 JQuery Ajax 函数后重置应用程序状态?
我正在开发一个小应用程序:用户单击一个按钮来调用一个函数。但是之后,当用户想要点击其他按钮来调用相同的功能时,第一个点击按钮的动态ID仍然存在,所以其他按钮不能再被寻址了。
代码:
$('#submitComment').on('click', function()
var id = $(this).data('id');
var thiselement = $(this);
$.ajax(
url: 'includes/updateicon.php',
type: 'POST',
data: id:id,
dataType: 'html',
success: function(data)
if (data)
$('#submitComment').attr("disabled", true);
$('#customComment').val("");
$('#updatedicon-'+id).html("DONE").removeClass('badge-danger').addClass('badge badge-success');
# CODE HERE TO RESET THE STATE OF THE APP
else
$('#customContent').load("custom/static/error.html");
,
error: function(jqXHR, textStatus, errorThrown)
$('#customContent').html("There was an Error about getting the Content:" + errorThrown);
);
);
【问题讨论】:
【参考方案1】:您正在根据 ID 搜索元素,并且 ID 必须是唯一的(这很可能会导致您的错误)。
一个简单的解决方法是:
$('.submitComment').on('click', function()
var id=$(this).attr('id');
$.ajax(data:id:id);
)
【讨论】:
我之前尝试过将其更改为类选择器而不是 ID(尽管每个按钮都应该有其动态 ID)但它没有工作.. 它只在第一次工作第一个按钮的 ID(无论哪个按钮先点击)会一直存在并阻止代码将新 ID 分配给其他按钮... @1heone 你试过用 LET 代替 VAR 吗?这可能是一个范围界定问题,其中 VAR 可能会提升和毒化变量以上是关于在 JQUERY AJAX 函数之后重置应用程序状态的主要内容,如果未能解决你的问题,请参考以下文章