0

我有一个 SPA 网页。使用 ajax 请求加载数据。我需要在该页面上显示一些文化敏感数据。格式化此类数据的最佳方法是什么?基本上我有两个选择:

1.将所有预先格式化的数据发送到客户端(服务器上的预先格式化)

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

优点:

  • 简单的服务器端实现(Asp.net mvc 后端)。
  • 一切都在一个地方(BLL 中的一种方法)。
  • 更小的 JavaScript

缺点:

  • 可能的数据重复(相同的持续时间数据以分钟、秒显示,即不同的格式但相同的数据)。

2. 向客户端发送原始数据(客户端格式)

RawData
{
        Durration = 1645678 // milliseconds        
}

优点:

  • 更简单的单元测试(我们可以在 c# 中测试所有内容)
  • 更容易维护 - 我们的开发人员在 c# 方面比在
    Javascript方面更有经验

缺点:

  • 客户端需要做更多的工作
  • 我不确定是否可以在 javascript 中轻松完成所有数据格式化

编辑

我最终得到了客户端选项

谢谢

4

2 回答 2

3

对于数据的简单表示,两种方法都可以。但请记住其他一些注意事项:

  • 发送到客户端的所有数据原则上都可供用户使用,即使没有直接显示。在某些情况下,这可能是一个安全问题。
  • 将原始数据发送给客户端并让客户端处理其余部分为客户端动态查看提供了更多可能性
  • 根据应用程序和数据的类型,向客户端发送数据可以减少服务器的负载。但是,客户端速度较慢的用户可能会成为问题。

如果这些考虑都不适用,我会选择最适合开发和维护的东西。答案取决于当地问题、资源、使用的框架等。

于 2013-05-06T11:57:54.053 回答
1

我不明白服务器端选项的缺点 - 格式化一次会导致这种情况吗?特别是当您可以将本地化数据保存在资源文件中,并简单地让框架通过简单的配置来处理本地化?是的,AFAIK,纯 Javascript 没有 .NET(或 Java,或任何其他框架,就此而言)的所有相同的本地化功能。

此外,客户端选项的优点 - 在您的开发人员经验较少的一侧进行编码如何帮助单元测试和维护?您是否认为仅仅因为它不在服务器端,就不必进行测试就可以了?

我的两分钱:除非您找到可以做到这一点的 Javascript 框架,否则让服务器端处理它。否则你将重新发明轮子。还要考虑到您在客户端的逻辑越多,您的网站在低端机器、平板电脑和手机上的外观和感觉就越差。

于 2013-05-06T11:48:37.657 回答