Client side 服务器端与客户端编码的最佳实践

Client side 服务器端与客户端编码的最佳实践,client-side,server-side,Client Side,Server Side,在很多情况下,我会向服务器端调用AJAX以获取一些数据。我的问题是: 简单地以JSON或XML的形式获取数据是否更好,但是我需要使用javascript来完成所有输入,并且不可能在javascript中使用用户的服务器端变量(这里我错了吗),或者不仅获取数据库数据而且获取整个HTML是否更好 第一种方法是从AJAX返回,只调用表单元格的内容,并用javascript生成整个表的HTML。第二种方法是调用AJAX,从服务器端获取包含数据的整个HTML 我现在使用第二种方法,因为使用服务器端语言编程

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

简单地以JSON或XML的形式获取数据是否更好,但是我需要使用javascript来完成所有输入,并且不可能在javascript中使用用户的服务器端变量(这里我错了吗),或者不仅获取数据库数据而且获取整个HTML是否更好

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

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

  • 我不是只获取数据,而是返回整个HTML,这意味着,例如,我每次加载的数据太多,而不是在客户端生成数据

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


  • 这里的最佳做法是什么?

    不要试图从服务器获取HTML或任何标记以显示在屏幕上。这是个坏习惯

    此外,我更喜欢JSON而不是XML

    编辑:

    那么,是否有任何方法可以使用AJAX JSON在服务器端构建HTML,或者是使用document.write在javascript中生成HTML的唯一(正确)方法?那么如何将服务器端变量转换成javascript呢?@Jerry2使用javascript抽象和DOM库JQuery的load()。是的,但是如果我使用load来转换整个HTML,那么我使用的是方法2,我就是这样做的。如果我只得到加载的Json数据,我必须使用javascript来构造HTML。在使用Javascript时,我必须使用一些其他加载来加载服务器端变量,我已经在这个页面上加载了,但是在服务器端:-(抱歉,但我不同意这是一种不好的做法,尤其是twitter、facebook和airbnb现在正在这样做。没错,2012年,你最好做正常的json工作,2014年——更多的是关于服务器端处理,再加上“圣杯”