gpt4 book ai didi

javascript - 在成功的 ajax 请求上禁用 javascript 函数

转载 作者:行者123 更新时间:2023-11-28 08:10:41 24 4
gpt4 key购买 nike

具体来说,我想禁止某个函数在成功的 ajax 请求上执行。我不知道这是否可能,或者是否有任何解决方法。看看我做了什么:

<script>
$(document).ready(function() {
function load(){
...
...
}
});
$.ajax({
...
success: function(option){
disable load function // I want this functionality somehow
}
});
</script>

有人可以帮忙吗?我需要这个,因为加载函数是一个滚动函数,它在滚动到结束时加载产品,并且在ajax请求时另一个文件使用相同的产品,所以不知何故我需要禁用此功能。任何帮助将不胜感激。

编辑

我希望此函数在第一次页面加载时工作,但在成功的 ajax 请求后我希望停止此函数。我将完整的代码放出来,以便您获得清晰的想法。

<script>
$(document).ready(function() {
var track_load = 0;
var loading = false;
var total_groups = <?php echo $total_groups; ?>;
var cat_id= <?php echo $cat_id; ?>;
$('.autoload').load("xyz.php", {'group_no':track_load, 'cat_id':cat_id}, function() {track_load++;});

$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() == $(document).height())
{
if(track_load <= total_groups && loading==false)
{
loading = true; //prevent further ajax loading
$('.animation_image').show();

$.post('xyz.php',{'group_no': track_load, 'cat_id':cat_id}, function(data){

$(".autoload").append(data);

$('.animation_image').hide();

track_load++;
loading = false;

}).fail(function(xhr, ajaxOptions, thrownError) {
$('.animation_image').hide();
loading = false;

});

}
}
});
});
</script>
<script>
$(document).ready(function(){
$('#subcat').change(function(){
var val=$(this).val();
$(this).value= val;
$('#furcat').show();
if(val=='A'){
$('#furcat').html("<option selected='true' disabled='disabled'>Choose Further Category</option><option>B</option><option>C</option>");
var sub_cat=41;
}
$('.autoload').empty();
$('.animation_image').show();
$.ajax({
type: "POST",
url: "abc.php",
data: {sub_cat:sub_cat},
success: function(option){
$('.autoload').replaceWith(option);
$('.animation_image').hide();
}
});
});
});
</script>

由于我需要在即将到来的数据中使用相同的滚动功能,因此我涉及另一个 php 文件,该文件使用与此相同的代码并删除双 ajax 请求,我需要禁用此功能。

最佳答案

您可以创建标志,在文档就绪时将其设置为“true”,然后在成功的 ajax 调用后将其设置为“false”。

<script>
var flag=true;
$(document).ready(function() {
flag = true;
function load(){
if(flag){
...
...
}
}
});
$.ajax({
...
success: function(option){
flag=false;
}
});
</script>

关于javascript - 在成功的 ajax 请求上禁用 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24269393/

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