gpt4 book ai didi

javascript - 让 ajax 只调用一次

转载 作者:行者123 更新时间:2023-11-28 11:23:18 25 4
gpt4 key购买 nike

我有一个 ajax 调用被多次触发。

我使用了e.stopImmediatePropagation()return false来防止它多次触发。是否有另一种可靠的方法来防止 ajax 多次调用。

$(document).on('click', '#button1', function(e){
$.ajax({
url: 'http://www.page.com',
data: data,
method: 'POST',
success: function(data){

},
error: function(err){

}
});
e.stopImmediatePropagation();
return false;
});

最佳答案

您可以使用 jQuery .one()

  $(document).one('click', '#button1', function(e){
$.ajax({
url: 'http://www.page.com',
data: data,
method: 'POST',
success: function(data){

},
error: function(err){

}
});
});

var n = null;
$(document).one('click', '#button1', function(e){
$.ajax({
url: 'https://gist.githubusercontent.com/anonymous/9a6997f09de9b68c59b2/raw/f7d7b756005ad6d2b88cf0211f78a2990d7d2dc7/content.json',
data: {},
method: 'HEAD',
success: function(data, textStatus, jqxhr) {
console.log(jqxhr.getAllResponseHeaders())
$("body").append("<br>textStatus: " + textStatus + "<br>count: " + ++n)
},
error: function(err){

}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button id="button1">click</button>

关于javascript - 让 ajax 只调用一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26396924/

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