2014-03-27 15 views
0

我無法找到以下問題的答案:在一個完整的Ajax網站,什麼是更好的?

-1-使用$就來加載返回你一個JSON回答一個PHP文件,它使用JavaScript編寫的頁面上

OR

-2-用更簡單的方式來加載PHP文件詢問服務器並立即在HTML中寫下答案。

對於小型應用程序,-1-顯然是更好的,但是當你不得不在頁面上寫下像70張照片和10000個不同風格的字符時,導航器變得非常沉重,它呢?我敢打賭,服務器的-1-無論如何仍然是最好的......

非常感謝您的回答!

羅曼

回答

1

對於服務器端性能問題,特別是對於請求數量很多的頁面,我建議使用第一種方法並節省帶寬(可以使用$.getJSON以此目的) 。

此外,如果您服務的是JSON而不是整個標記,則可以更好地將數據(以及後面的邏輯)與演示文稿分開,以便您的站點更加可持續,並且可以很好地擴展。

你可以問問從您的服務器JSON數據,然後你可以用某種客戶端模板系統注入接收到的數據,像mustachehandlebars

+0

我小鬍子你的問題!你也可以從'$ .ajax'返回HTML,否?那麼'$ .load'的唯一目的是什麼? –

+0

從$就返回的HTML是可能的,但JSON的速度要快得多,所以它更糟糕的是-1-和-2-) – lahud

0

我最常做的是通過URL建立在服務器端語言(PHP CQ),認爲比當前的頁面或通過jQuery的$在加載.load

這只是加載了一塊的html中,即使在源中有特定的選擇器元素。這種方式你很有活力,你不必解析你的HTML到JSON和後面。

祝你好運!

而對於你的問題有關與海量內容的頁面,看看一些無限滾動,或加載內容時的項目是在視口中用一個漂亮的淡入效果還是這樣嗎?這樣,你通過分配限制服務器沒有請求

0

這真的取決於你所需要的。如果確實是full Ajax Website那麼顯然(1)更好。 (1)的缺點是,如果你有很多ajax請求,你可以減慢頁面速度,因爲瀏覽器一次只能發送有限數量的請求,也就是說它不會一次加載20個請求,將3×3或5×5 上攻,很明顯,網頁加載速度更快最初不知道的內容,內容稍後顯示加載它們。這也可以讓你有動態分頁(無需重新加載頁面),搜索等。

數字(2)更好的方式是,當頁面完成加載後,它完成加載,所有的內容都在那裏,你不必等待Ajax請求完成。缺點是很明顯,你將不得不等待更長的時間初始下載完成,因爲你是在一次發送的所有數據。

這真的取決於你所需要的,但(1)和(2)是一個雙贏的通常組合。您需要決定在哪裏使用(1)以及在哪裏使用(2)。例如,可以使用使用(2),用於初始頁面加載(顯示結果的第一頁),然後通過頁後續頁(1)。

另外,如果你只使用Ajax加載圖像列表,你沒有被阿賈克斯贏得太多,因爲<img>標記添加小的開銷初始頁面的下載,圖像加載後,無論如何,這樣你就不會節省多少由使用ajax。

JSON絕對是一種方式,因爲它是在Java和PHP的支持去AJAX調用,並沒有用於數據傳輸的開銷太大。

0

今天,大多數是高速互聯網。所以不要緊U上有多少字節保存比較JSON的HTML

此外,大多數都在高端CPU或移動設備。作爲這樣的公共網絡的解決方案不因素客戶端或服務器

具有JSON CPU週期,鼓勵面向服務的體系結構和客戶端可以希望顯示哪些數據。消費客戶機

有HTML更多的CPU,可以只指定1client。客戶機上的CPU消耗較少。

客戶可能是桌面/標籤/移動devicea