javascript - 使用 AJAX 动态获取页面

标签 javascript html ajax

我有一个关于使用 AJAX 进行部分页面加载的问题。

假设用户单击一个按钮,该按钮进行 AJAX 调用来加载页面的一部分(可能包括动态加载的 JS 和/或 CSS),并且 html 内容被放置在某个 div 上。然后,在第一次加载完成之前,他单击另一个按钮,该按钮进行另一个 AJAX 调用,将其他内容放到同一 div 上。我应该如何防止这种行为造成任何冲突?一些可能的冲突可能是这样的,例如,第一次加载对未找到的内容执行一些 JS,因为第二次加载已经更改了该 div。

提前致谢。

编辑: 我希望得到基于异步方法的答案。谢谢。

最佳答案

Genesis 和 Gaurav 关于禁用用户交互的看法是正确的。我给他们每个人+1。如何处理逻辑实际上非常简单:

$('#my_submit_button').click(function(){
    $.ajax({
        url:'/my_file.php',
        dataType='json',
        beforeSend:function(){
            $('#my_submit_button').prop('disabled',true);
        },
        error: function(jqXHR, status, error){
            // handle status for each: "timeout", "error", "abort", and "parsererror"
            // Show submit button again:
            $('#my_ajax_container').html('Oops we had a hiccup: ' + status);
            $('#my_submit_button').prop('disabled',false);
        },
        success:function(data){
            $('#my_ajax_container').html(data);
            $('#my_submit_button').prop('disabled',false);
        }
    });
});

关于javascript - 使用 AJAX 动态获取页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6803660/

相关文章:

javascript - react 组件已卸载

javascript - 没有循环的尾递归树遍历

html - 如何隐藏元素并仅在用户开始输入时显示它?

javascript - 函数不能作为另一个函数参数

javascript - 为什么我会收到 'CSRF token missing or incorrect' 错误?

jquery - 如何在 AJAX 调用期间获取等待加载程序

javascript - 使用javascript获取变形svg的当前坐标

javascript - 使用方形 backets 设置嵌套对象的值返回 undefined

css - 无法在 HTML、CSS 的文章标签内定位不同的列表项

html - 将多个 div 布局从垂直更改为水平