AJAX/jQuery-填充HTML替代方法

AJAX/jQuery-填充HTML替代方法,jquery,ajax,Jquery,Ajax,我正在研究使用AJAX/jQuery从PHP脚本加载数据的替代方法,但a)无法很好地完善我的问题,或者B)无法找到任何文档 目前,我在ajax中使用常规post类: $.ajax({ url: 'script.php', data: { data1: $('#input1').val(), data2: $('#input2').val() }, dataType: 'json', success: function(dat

我正在研究使用AJAX/jQuery从PHP脚本加载数据的替代方法,但a)无法很好地完善我的问题,或者B)无法找到任何文档

目前,我在ajax中使用常规post类:

$.ajax({
  url: 'script.php',
  data: {
          data1: $('#input1').val(),
          data2: $('#input2').val()
        },
  dataType: 'json',
  success: function(data){
             $.each(data, function (key, value){
               $('#data-cont').append(value);
             });
           }
 })
其中
script.php
返回json数据

现在,我有
$('#data cont').append(value)通常是一个巨大的混乱,我试图在HTML标记旁边插入响应数据。这是超级丑陋的,真的是一个痛苦的排序和建立

在做研究的过程中,我看到了
数据类型:“html”
,它通过元素ID解析html中的数据。就我个人而言,我认为用PHP生成html比用jquery/javascript更简单、更干净。在PHP中,您可以使用
if
语句等替代语法,生成更清晰的代码和标记,更易于组织和开发

所以,我的实际问题


为了将数据编译成HTML标记,在jQuery/js中,哪个是标准的/更受欢迎的脚本响应、HTML或JSON构建标记

这完全取决于您需要在客户端对该响应做什么

如果它只是需要显示的东西,那么继续生成html服务器端,并将其添加到您认为合适的dom中

如果您需要根据该数据在客户端做出决策,那么您需要返回json

对于一个非常简单的示例,您返回了一个json结构,其中包含来自数据库的客户端列表,该json还包括每个客户端的主键和电话号码,例如。现在,您可以创建一个对象来保存json数据,处理为显示而构建的列表,并将onclick方法绑定到每个列表项。现在,当用户单击列表项时,您只需返回该列表项的索引,该索引将对应于json数据结构中的同一索引,现在您不必解析html属性以获取有关该列表项/客户机的更多数据,而是可以直接访问json数据结构,没有其他服务器请求或混乱的javascript。您可以在onclick中将客户机主键添加到另一个数组中,该数组将存储应联系的人等。然后您可以提供一个提交按钮,该按钮将主键传递回服务器,以便为用户的某些服务执行逻辑(这样您就不必通过名字和姓氏解析客户机)

这实际上是所有手头的任务,而不是一个“适当的”或“最好的”方式来做它

但值得一提的是,为什么要在服务器上,客户端可以做什么?通过使通信变得轻松,您可以节省资源。JSON非常轻


另一个注意事项是,对于SEO,您几乎应该始终构建所有HTML服务器端。

您可以添加您期望的输出类型,以及您当前获得的输出吗?我的任何代码都可以工作,我只是在寻找构建/显示HTML的更好方法:接收JSON/构建HTML客户端还是构建HTML服务器端。AJAX请求接收JSON数据,然后构建HTML。为了提高服务器效率,我理解/同意让客户端脚本解析数据并构建HTML。