0

我有一個SPA網頁。數據加載了ajax請求。我需要在該頁面上顯示一些文化敏感數據。什麼是格式化這種數據的最佳方式? Basicaly我有兩個選擇:Json數據格式最佳實踐

  • 易於服務器端實現(Asp.net MVC:

    1.發送preformated客戶(在服務器上預先格式化)

    Preformated 
    { 
        DurrationInMinutes = '2 min' 
        DurationInSeconds = '120 sec' 
    } 
    

    優點所有數據後端)。

  • 一切都在一個地方(BLL中的一種方法)。
  • 較小的JavaScript

缺點:

  • 更多鈔票數據複製(相同的持續時間以分鐘爲單位顯示數據, 秒即diferent格式,但相同的數據)。

2.發送原始數據到客戶(在客戶端格式)

RawData 
{ 
     Durration = 1645678 // milliseconds   
} 

優點:

  • 更容易單元測試(我們可以測試在c#一切)
  • 更容易維護 - 我們的開發人員在c#中更經驗expirs
    Javascript

缺點:

  • 更多的工作,必須在客戶端完成
  • 我不知道是否所有的數據格式化可以easilly做在JavaScript

編輯

我結束了客戶端選項

謝謝

回答

3

對於數據的簡單表示,兩種方法均可。但請記住一些其他注意事項:

  • 所有發送到客戶端的數據原則上都可供用戶使用,即使它沒有直接顯示。這在某些情況下可能是安全問題。
  • 將原始數據發送到客戶端,讓客戶端處理其餘部分,爲客戶端動態查看提供更多可能性
  • 根據應用程序和數據的類型,向客戶端發送數據可以減少服務器上的負載。但客戶端速度慢的用戶可能會成爲問題。

如果這些考慮都不適用,我會選擇最適合開發和維護的。答案然後取決於當地的問題,資源,框架使用等

1

我不明白服務器端選項的缺點 - 如何格式化事情一次會導致這種情況?特別是當你可以將你的本地化數據保存在資源文件中時,只需讓框架用一個簡單的配置來處理本地化?是的,AFAIK,純Javascript沒有.NET(或Java,或任何其他框架)的所有相同的本地化功能。

此外,客戶端選項的優點 - 它是如何編碼在你的開發經驗較少有助於單元測試和維護?你認爲這只是因爲它不在服務器端,它不需要測試就沒問題?

我的兩分錢:除非你找到一個可以做到的Javascript框架,讓服務器端來處理它。否則,你會重新發明輪子。還要考慮到客戶端的邏輯越多,您的網站外觀感覺就會越糟糕,這種情況會發生在低端機器,平板電腦和手機上。

+0

爲cons服務器端選項看看例子(json對象)在我的問題 – 2013-05-06 13:13:04