【问题标题】:Best practice in server side vs client side coding服务器端与客户端编码的最佳实践
【发布时间】:2012-05-24 16:13:25
【问题描述】:

我在很多情况下都会对服务器端进行 AJAX 调用以获取一些数据。我的问题是:

将数据简单地作为 JSON 或 XML 取回更好,但是我需要使用 javascript 来完成所有输入,并且不可能在这个 javascript 中使用我的用户的服务器端变量(我错了吗? ) 还是不仅取回数据库数据还取回整个 HTML 更好。

第一种方法是从 AJAX 调用仅返回表格单元格的内容并在 javascript 中生成整个表格的 HTML。第二种是调用 AJAX 并从服务器端获取带有数据的整个 HTML。

我现在使用第二种方法,因为用服务器端语言编程对我来说更容易,但我发现使用这种方法有两个问题:

  1. 我不是只获取数据而是获取整个 HTML,这意味着例如我每次都加载太多数据而不是在客户端生成它。

  2. 我返回的数据只对这个特定的“项目”有用,因为它已经用 HTML 代码“格式化”了。如果我能获得 JSON 原始数据,我可以重用服务器端 AJAX 代码,以便在其他页面上对这些数据执行其他操作。

这里的最佳做法是什么?

【问题讨论】:

    标签: client-side server-side


    【解决方案1】:

    不要试图从服务器获取 HTML 或任何标记以显示在屏幕上。这是一种不好的做法。

    另外,我更喜欢 JSON 而不是 XML。

    编辑: http://api.jquery.com/load/

    【讨论】:

    • 那么有没有办法从 AJAX JSON 构建带有服务器端的 HTML,或者是使用 document.write 在 javascript 中执行 HTML 的唯一(正确)方法?那么如何将我的服务器端变量放入 javascript 中?
    • @Jerry2 有,使用 JavaScript 抽象和 DOM 库 JQuery 的 load() api.jquery.com/load
    • 是的,但是如果我使用负载来获取整个 HTML,那么我正在使用方法 2。如果我只得到带负载的 Json 数据,我必须使用 javascript 来构造 HTML。在使用 Javascript 时,我将不得不使用其他一些 LOAD 来加载我已经在此页面上但在服务器端的服务器端变量:-(
    • 对不起,但我不同意这是一种不好的做法,尤其是 twitter、facebook、airbnb 现在正在这样做。诚然,在 2012 年,你最好在 2014 年做正常的 json 工作——它更多地是关于服务器端处理,加上“圣杯”
    猜你喜欢
    • 2020-08-15
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 2011-01-24
    • 2013-02-25
    • 2015-05-30
    • 1970-01-01
    相关资源
    最近更新 更多