jquery ajax - 更好地返回json或plain html

cww*_*cww 7 html php ajax jquery json

当从ajax返回时,我应该以json编码返回,并使用jquery.parseJSON并使用document.createElement并将数据附加到刚刚创建的Element中.

或者最好以html文本形式返回?

例,

<div id="contentcontainer"></div>

$.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John",
   success: function(msg){
     msgObj = jquery.parseJSON(msg);
     var div = document.createElement('div');
     div.style.color="red";
     $(div).append(msgObj.name);
     $('#contentcontainer').append(div);
   }
 });

 //some.php
 if($_POST['name']){
    echo json_encode( array('name'=>$_POST['name']) );
 }
Run Code Online (Sandbox Code Playgroud)

或者我应该这样做?

<div id="contentcontainer"></div>

$.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John",
   success: function(msg){ 
     $('#contentcontainer').append(msg);
   }
 });

 //some.php
 if($_POST['name']){
    echo '<div style="color:red">'.$_POST['name'].'</div>';
 }
Run Code Online (Sandbox Code Playgroud)

修改...抱歉我的语法不好

当然,这只是一个例子,实际情况下它会有很多数据,可能是html表格式.

当然,这仅仅是一个例子,实际情况下它会有很多数据.

如果它有很多数据,那么我需要编写很多document.createElement().并且它像写这个document.createElement('table')一样消耗时间; 使用document.createElement( 'TR');

而不是(以HTML格式返回并只是附加在容器中)

对我来说,我认为第二种格式(返回HTML)更容易.

但不确定性能是否明智,哪个更好?

请指教.

Cal*_*vin 5

Sébastien和Zain都有有效的积分.这取决于你所谈论的是什么的表现.

如果要减少服务器的带宽,则应返回JSON并使用客户端javascript创建显示.

但是,如果您的数据集很大,则在大多数计算机上创建显示客户端可能会滞后浏览器并导致UI无响应.如果这对您很重要,那么您可以考虑从服务器返回HTML.