2014-11-03 68 views
0

我做了一個ajax調用(非常簡單),目前返回一個html字符串。根據誰調用它,這個字符串有時會變得很長。我想知道的是爲什麼最好返回一個JSON結果並在之後構建我的HTML,而不僅僅是返回一個長字符串。JSON對象或字符串結果集

+0

只需閱讀你的陳述兩次_這個字符串可以變得很長時間_ – Satpal 2014-11-03 06:29:54

+0

多久了?您可以使用AJAX檢索完整的網站,而不會出現問題。這就是爲什麼它的異步! – 2014-11-03 06:31:45

+0

迄今爲止最大字符數約爲12K,大部分小於此數。 – 2014-11-03 07:22:51

回答

1

,而不是返回HTML的JSON的一些優點:

  1. 的數據可以用來作爲分析或其它用途的數據,而不只是用於展示。
  2. JSON數據通常/通常比完整的演示文稿HTML小很多,因此您通過互聯網傳輸的數據較少。
  3. 您在數據和演示文稿之間創建了分隔符,而不是將它們混合到一個API中。您的服務器返回一段單獨的代碼然後轉換爲演示文稿的數據。
  4. JSON數據可以在演示前更容易處理或修改(例如過濾,排序,標記,展開/摺疊等)。
  5. 您可以對許多不同類型的演示文稿使用相同的JSON數據。如果您返回HTML,則演示文稿已經烘焙完畢,因此如果您需要其他演示文稿,則必須創建一個全新的AJAX調用。

如果你想要一個極端的方式來想一想,然後問自己,爲什麼數據庫返回的原始數據和數據的不是一個HTML視圖?這是因爲你可以用實際的數據做更多不同類型的事情,因此,通過讓數據只給出數據,然後使用不同的代碼段來處理數據(分析數據,合併它與其他數據,基於它做出決定,呈現它用於查看等)。如果數據庫僅返回數據的HTML視圖,那麼對數據執行所有其他操作將會困難得多。 Ajax調用也是如此,這實際上只是客戶端訪問數據。

+0

謝謝你回到我身邊。但我的電話只是用於演示,不需要操縱所需的數據。考慮到客戶端的瀏覽器更有效地處理一串HTML或處理JSON。或者,我們只是將鼠標懸停在JSON「通過互聯網發送」更小的事實上 – 2014-11-03 07:36:45

+0

@I_understand_sometimes - 如果你只是在看「效率」,那麼你必須定義你的意思,然後它可能取決於數據的確切構成,它有多大以及演示文稿如何工作。我猜測你無法從瀏覽器中分辨出這兩種方式的區別。僅供參考,良好的編程設計不僅僅是設計當前設計所需的最低要求,而是以符合當前需求的方式進行設計,並且設計的方式可以用於將來許多其他可能的事情(我的觀點關於使用JSON)。 – jfriend00 2014-11-03 07:47:08

+0

@I_understand_sometimes - 測量設計的靈活程度,問問自己,如果在幾周內有人想要對數據進行排序或過濾數據或提供多個數據表示,將會有多少工作量。哪個設計方向會使得更容易添加/更改? – jfriend00 2014-11-03 07:48:45

相關問題