这是一个设计问题。我有需要进入HTML表的数据,稍后将由用户操纵。基本上,用户将能够选择表格行中的项目。
我有两个选择-在两种情况下,我都使用AJAX来获取数据:
在服务器端使用PHP创建HTML代码,并将其作为HTML发送到客户端。然后,用户使用Javascript(本质上是jQuery)来操纵表格。
使用JSON将原始数据发送到客户端,然后使用jQuery创建HTML,然后由用户对其进行操作。
从设计/易于编码/美观的角度来看,推荐哪种方法?感谢您的任何见解。
为什么要在PHP中生成HTML:
为什么要在jQuery中生成HTML:
因此,我赞成第一种选择,即在PHP中生成HTML。
视觉比较这两种方法,创建一个简单的表。
// PHP $html = '<table>'; foreach($data as $row) { $html .= '<tr>'; $html .= '<td><a href="#" class="button">Click!</a></td>'; $html .= '<td>'.$row['id'].'</td>'; $html .= '<td>'.$row['name'].'</td>'; $html .= '</tr>'; } $html .= '</table>'; echo $html; ?> // jQuery $('#container').load('handler.php', function() { $('#container a.button').click(function() { // Do something }); });
// PHP echo json_encode($data); // jQuery $.ajax({ url: 'handler.php', dataType: 'json', success: function(data) { var table = $('<table />'); var len = data.length; for(var i = 0; i < len; i++) { var row = $('<tr />'); var a = $('<a />').attr('href', '#').addClass('button'); row.append($('<td />').append(a)); row.append($('<td />').html(data[i].id); row.append($('<td />').html(data[i].name); table.append(row); } table.find('.button').click(function() { // Do something }); $('#container').html(table); } });
从设计/易于编码/美观的角度来看,我肯定会说采用PHP方法。