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