2013-10-18 204 views
0

我開發了一個簡單的網站,它使用Ajax來加載內容,而內容加載時,我正在顯示進度。工程預期在1日Ajax調用的一切,但在那之後,它成爲一個爛攤子瀏覽器卡在ajax請求

  1. 頁卡住的Ajax調用
  2. 我寫了一個函數來聽Ajax調用顯示加載消息,這不是」 t也可以工作,並且在第一次ajax調用之後頁面變得非常緩慢和緩慢。

這是我的ajax函數。

function loadPage(path) { 
$.ajax({ 
    type: "POST", 
    context: document.body, 
    dataType: "html", 
    timeout: 10000, 
    url: path 
});} 

我試圖將async設置爲true,但默認爲true。仍然沒有幫助。這個問題的演示可以看到:已解決因爲問題已解決

這在本地主機上運行得很好,但只要我將其上傳到遠程服務器,就會出現問題。請專家指點一下我做錯了什麼?我試圖刪除所有這些動畫,沒有幫助。


問題是我在每個ajax cal上加載javascript文件導致太多的get和post請求和不必要的dom變化。

回答

1

您的網頁似乎是每次點擊都慢,因爲你不斷裝上每一個JavaScript文件點擊,而不是隻加載JavaScript的一次加載網頁時,因爲你抓住了整個HTML頁面

像例如..每次點擊HOME ..這些文件被加載再次頁面時..

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

如果最好只加載內容或片段,沒有加載所有的腳本在每個菜單上單擊..或加載數據並填充內容中的數據

你試圖尋找到jQuery的負載()在HTML片段加載方法,所以不必在整個HTML DOM加載再次

http://api.jquery.com/load/

這樣的:

$("#load_area").load("portfolio_item.html #ID_of_content_to_grab"); 

以上將轉至portfolio_item.html並從id中獲取html片段#ID_of_content_to_grab ð將其插入#load_area

UPDATE:

你也可以嘗試清空#load_area您插入新的內容

$("#load_area").html(""); 
$("#load_area").load("portfolio_item.html #ID_of_content_to_grab"); 

,或者你可以使用jQuery empty()之前。 。或同時測試

..

+0

感謝您的快速響應。 嘗試.load()....仍然是一樣的。 – DriverBoy

+0

什麼是在加載..你有所有的js加載在主頁面,然後只加載片段的內容?那麼現在你網站上的這些變化是什麼?..以及你網站上的js文件有什麼新的變化來檢查你的網站?當我去你的鏈接上面顯示你仍然加載頁面中的所有html和js每個點擊 –

+0

加載索引頁面上的所有資源。工作正常:-) 非常感謝:) – DriverBoy