Javascript ajax成功函数无法更改按钮文本

Javascript ajax成功函数无法更改按钮文本,javascript,html,ajax,Javascript,Html,Ajax,我有一个简单但奇怪的问题,我无法更改ajax成功后回调中按钮的值,我确信回调会在显示警报时执行。另外,这些按钮是静态创建的,我没有使用Jquery动态创建它们 以下是我的ajax: $.ajax({ type: "POST", beforeSend: function (xhr) { xhr.setRequestHeader("XSRF-TOKEN", $('input:hidden[name="__RequestVerificationToken

我有一个简单但奇怪的问题,我无法更改ajax成功后回调中按钮的值,我确信回调会在显示警报时执行。另外,这些按钮是静态创建的,我没有使用Jquery动态创建它们

以下是我的ajax:

$.ajax({
    type: "POST",
    beforeSend: function (xhr) {
        xhr.setRequestHeader("XSRF-TOKEN",
        $('input:hidden[name="__RequestVerificationToken"]').val());
    },
    url: "/?handler=Queue",
    data: $.param(params),
    dataType: "json",
    success: function (response) {
        $("#btn-queue-lib").val("Cancel Queue");
        alert(response.responseText);
    },
    error: function (xhr) {
        alert(xhr.responseText);
    }
});
但是,如果我在ajax之外更改问题行,它可以正常工作:

$("#btn-queue-lib").val("Cancel Queue"); // Either Here
$.ajax({
    type: "POST",
    beforeSend: function (xhr) {
        xhr.setRequestHeader("XSRF-TOKEN",
        $('input:hidden[name="__RequestVerificationToken"]').val());
    },
    url: "/?handler=Queue",
    data: $.param(params),
    dataType: "json",
    success: function (response) {
        alert(response.responseText);
    },
    error: function (xhr) {
        alert(xhr.responseText);
    }
});
$("#btn-queue-lib").val("Cancel Queue"); // Or Here
document.getElementById('btn-queue-lib')。innerText='Cancel queue'

change

$("#btn-queue-lib").val("Cancel Queue");

并将该语句放在ajax success函数的警报前面。

在success use中

 $("#btn-queue-lib").html("Cancel Queue");

就连我也面临着同样的问题。。。我按如下方式管理它,希望它也能对您有所帮助

ajax()之后的函数更改{ $.ajax({ 键入:“获取”, url:“https://reqres.in/api/users?page=2", //数据:$.param(params), 数据类型:“json”, 成功:功能(响应){ $(“#btn队列库”).text(“取消队列”);//这也可以正常工作 //changeBtnTxt('btn-queue-lib','Cancel queue'); //警报(响应); }, 错误:函数(xhr){ console.log(xhr); } }) } 函数更改BTNTXT(id,txt){ $(“#”+id).text(txt); }


在ajax
我发现问题后,我不知道为什么服务器返回了成功消息,但实际上返回了一个错误请求。因此,我错误地认为应该调用success函数。如果我把问题行放在错误回调中,它就可以正常工作。谢谢大家的努力!!!
~ (^_^)∠※

AJAX调用成功了吗?@JackBashford是的,我确信调用成功了,因为警报显示了。btn队列库存在吗?@JasminMistry是的,因为我可以使用它的id在回调之外的任何地方更改它的文本。为了确保调用了成功警报,而不是错误函数1?请阅读评论“是的,因为我能够使用它的id在回调之外的任何地方更改它的文本”。区别是什么?在ajax之外还是在ajax内部,button的id永远不会更改,顺便说一句,他使用val()而不是text(),这不起作用,实际上它甚至在ajax回调之外也不起作用,但是val()在外部起作用。
 $("#btn-queue-lib").html("Cancel Queue");