浏览器因ajax请求而卡住

浏览器因ajax请求而卡住,ajax,jquery,Ajax,Jquery,我开发了一个简单的网站,它使用ajax加载内容,在加载内容的同时,我显示了一个进度。在第一次ajax调用中,一切都按预期进行,但在那之后,一切都变得一团糟 页面被ajax调用卡住了 我已经编写了一个函数来监听ajax调用并显示加载消息,但它也不起作用,在第一次ajax调用之后,页面变得非常滞后和缓慢 这是我的ajax函数 function loadPage(path) { $.ajax({ type: "POST", context: document.body, dat

我开发了一个简单的网站,它使用ajax加载内容,在加载内容的同时,我显示了一个进度。在第一次ajax调用中,一切都按预期进行,但在那之后,一切都变得一团糟

  • 页面被ajax调用卡住了
  • 我已经编写了一个函数来监听ajax调用并显示加载消息,但它也不起作用,在第一次ajax调用之后,页面变得非常滞后和缓慢
  • 这是我的ajax函数

    function loadPage(path) {
    $.ajax({
        type: "POST",
        context: document.body,
        dataType: "html",
        timeout: 10000,
        url: path
    });}
    
    我尝试异步到true,但默认为true。但还是没用。该问题的演示可以在以下位置看到:已删除,因为问题已解决

    这在本地主机上运行得非常好,但当我将其上传到远程服务器时,问题就开始出现了。请专家指出我做错了什么?我试着删除所有的小动画,没有帮助



    问题是我在每个ajax cal上加载javascript文件,导致太多get和post请求以及不必要的dom更改。

    您的页面似乎每次单击都很慢,因为每次单击都会不断加载javascript文件,而不是在页面加载时只加载一次javascript,因为你正在抓取整个HTML页面

    比如说。。每次你点击主页。。这些文件将再次加载到页面中

    POST http://3rsmj.com/new/home.html 
    
    GET http://3rsmj.com/new/js/liquid/jquery.easing.1.3.js?_=1382114556389
    
    GET http://3rsmj.com/new/js/liquid/jquery.touchSwipe.min.js?_=1382114556390
    
    GET http://3rsmj.com/new/js/liquid/jquery.liquid-slider-custom.min.js?_=1382114556391
    
    如果使用AJAX,最好只加载片段中的内容,这样就不必在每次单击菜单时加载所有脚本。。或者加载数据并在内容中填充数据

    您是否尝试过使用jQueryload()方法加载HTML片段,以避免再次加载整个HTML DOM

    像这样:

     $("#load_area").load("portfolio_item.html #ID_of_content_to_grab");
    
    上面将转到portfolio_item.html并从内容的id#id_抓取html片段,然后将其插入加载区域

    更新:

    在插入新内容之前,您还可以尝试清空#load_区域

    $("#load_area").html("");
    $("#load_area").load("portfolio_item.html #ID_of_content_to_grab");
    
    或者您可以使用jquery。。或者测试两者


    ..

    正在加载的内容。。你是否将所有的js加载到主页上,然后只将片段加载到内容中?这些更改现在是否在您的网站上进行?。。你的站点上有哪些js文件需要检查这些新的更改?当我转到你上面的链接时,它显示你仍然加载页面中的所有html和js,每次单击加载索引页面上的所有资源。工作很好:-)非常感谢:)太好了。。很高兴为您提供帮助:)我还注意到,如果您想避免每次单击菜单时滚动条消失和重新出现,可以在#load_area div中添加一个最小高度。。比如最小高度:500px;因此,这样滚动条将保持可见,而不会在单击顶部菜单时左右推动身体