我想知道你们是如何使用php和jquery进行页面重建的。 在我的应用程序中,我需要一直重建div。 所以我做的是
使用get {例如person_controller.php?action=rebuild
控制器使数据库查询填充表单字段。
现在div已经创建了例如
$div = '<table>
<tr>
<td>
<label id="' . $id . '">' . $id .'</label>
</td>
</tr>
</table>';
return $div;
关于ajax调用的成功函数,我这样做:$('#Div').replaceWith(newdiv);
这个工作非常好,但我想知道这是重建没有页面刷新的div的好方法。
同样在firebug中,您可以在get请求中看到整个div代码。
总结:这是一个好方法吗?或者我需要改变我的编码行为。
答案 0 :(得分:2)
这种方法非常好。从开发人员的角度来看,它可能有缺点:如果它是HTML而不仅仅是数据,那么在firebug中浏览ajax响应会更加困难,并且它将限制服务器端脚本的重用,因为它只会返回一个HTML表格在另一种情况下,您可能需要相同的数据,但格式不同。
另一种方法是仅在数组或对象中返回数据,而不返回HTML。然后,您将在客户端构建HTML。通常人们会对行或行数组进行数据库查询,然后调用json_encode
将其置于JSON格式,然后在他们的javascript ajax调用的成功回调中,他们将拥有一个javascript对象或数组,他们可以从中获取数据(在您的情况下为$ id)并生成HTML。
如果您决定希望ajax调用只传输数据而不传输HTML,那么您可能需要查看javascript模板。有一些像Mustache这样的库允许你定义模板,然后将你的AJAX调用中的数据传递给模板,并让它填充占位符。这比在Javascript中将字符串连接起来更清晰。
答案 1 :(得分:1)
这似乎是一个完全可以接受的解决方案 - 如果没有破产,为什么要解决它?你说它运行正常 - 除非你遇到性能不佳我不建议重新分解你的代码。