gpt4 book ai didi

javascript - jQuery 代码无法成功

转载 作者:行者123 更新时间:2023-12-03 09:27:24 26 4
gpt4 key购买 nike

我有一个可以完美运行的 jQuery ajax 代码。但我需要它来更改成功单击时触发 jQuery ajax 事件的按钮的类。但我的 success: 代码不起作用。请参阅下面的代码。

jQuery 代码

    $(document).ready(function() {
$('.btn.btn-outline.btn-sm').click(function() {
var pollQId = $(this).val();
$.ajax({
type: "POST",
url: "Default.aspx/LikePoll",
data: JSON.stringify({ 'pollQId': pollQId }),
contentType: "application/json; charset=utf-8",
datatype: "json",
success: function() {
$(this).addClass("btn btn-primary btn-sm");
},

error: function(response) {
alert(response.d);
}
});
});
})

请帮助我。非常感谢。

最佳答案

成功回调中的this不是你期望的this,为了让这个参数与点击的按钮一致,需要传入context: this > 作为 .ajax 函数的附加参数。

您可以通过 jQuery.ajax 找到更多信息:

context

  • Type: PlainObject
  • This object will be the context of all Ajax-related callbacks. By default, the context is an object that represents the Ajax settings
    used in the call ($.ajaxSettings merged with the settings passed to
    $.ajax).
$(document).ready(function() {
$('.btn.btn-outline.btn-sm').click(function() {
var pollQId = $(this).val();
$.ajax({
type: "POST",
url: "Default.aspx/LikePoll",
data: JSON.stringify({ 'pollQId': pollQId }),
contentType: "application/json; charset=utf-8",
datatype: "json",

// Add this param, so the `this` in the success callback
// will be the clicked button.
context: this,

success: function() {
$(this).addClass("btn btn-primary btn-sm");
},

error: function(response) {
alert(response.d);
}
});
});
})

关于javascript - jQuery 代码无法成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31624714/

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