我有一个视图打开按钮单击以显示数据库结果。我想在返回结果时禁用按钮,然后在填充该部分后启用它。然而,它会禁用,然后在视图被填写之前启用该按钮,并且人们不断点击按钮多次 - 这会导致该部分多次切换输入/输出。这里是我使用的代码:需要jQuery等待Ajax,但异步:假不工作
$('#ViewComments').click(function() {
$("#ViewComments").prop("disabled", true); // Disable View Comments button after click
var tr = $('tr');
$("#CommentResults").find(tr).remove();
$("#InsertComment").focus();
var parcel_id = $('#ParcelId').val();
$.ajax({
url: "classes/get-comments.php?parcel_id=" + parcel_id,
type: "GET",
dataType: "json",
async : false,
error: function (SMLHttpRequest, textStatus, errorThrown) {
alert("An error has occurred making the request: " + errorThrown);
},
success: function (comments) {
for (var i = 0; i < comments.length; i++) {
var tr = $('
');if (comments[i].comment == null || comments[i].comment == "") {
tr.append("
Entered By: " + comments[i].name + " " + comments[i].date_created + " No comment entered.");} else {
tr.append("
Entered By: " + comments[i].name + " " + comments[i].date_created + "" + comments[i].comment + "");}
$('#CommentResults').append(tr);
}
$('#Comments').slideToggle('slow');
}
});//end ajax call
//});
$("#ViewComments").prop("disabled", false); // re-enable View Comments button
}); //end view comments click function
任何帮助或想法表示赞赏。 Thx提前。
2016-09-30
pokerPro
+3
的可能的复制[?我怎么做一个jQuery阻挡AJAX调用,而不异步=假](http://stackoverflow.com/questions/ 11062803 /我该怎么办 - 一个jQuery的阻止 - Ajax的调用没有异步错误) –
+0
我可以问为什么你想它是同步的?这是错误回调中的错字:'SMLHttpRequest'? - 它不应该是“XMLHttpRequest”(记住它不会被使用)? –