我有一个困境,我真的可以使用一些建议。我正在使用 PHP/Smarty/HTML/jQuery 构建一个订购系统。目前在卖家确认订单的网站上工作。
我需要有 3 个 div。
- 等待订单 div - 包含未处理订单的表格
- 最后订单 div - 包含一个包含最后处理订单的表格(10-20 行)
- 详细信息 div - 包含有关订单的信息,以及确认/拒绝按钮
这是一个典型的 master-detail 情况,只有 master 被分成 2 个部分(1,2),而 details 在 div 3 中。自然一切都与 javascript/Ajax 连接,因此用户可以获得“实时”的感觉。等待订单 div 是通过彗星(长轮询)技术填充的。
我的困境是如何将 div 与 javascript/ajax 连接起来。我是否应该制作与数据库状态相对应的回显页面并将其完全加载到 div 中。或者我应该只操作表行并仅将 ajax 用于后台数据库调用?
为了让自己更清楚:
选项 1(Ajax 完整页面):
- 当用户选择等待订单时,使用 ajax 获取新页面(回显表)并加载到详细信息 div
- 当用户确认/拒绝 div 3 中的订单时,div 1 和 2 使用 ajax 刷新(带有对应于 db 中状态的表的回显页面)
选项 2(html 操作/背景 Ajax):
- 当用户选择等待订单时,div 3 的元素将填充新值。
- 当用户在 div3 中按顺序确认/拒绝时,从 div 1 中的表中删除 tr(从 db 到 del 的背景 ajax)并在 div 2 中添加相同的 tr(要插入到 db 的背景 ajax)
那么该走哪条路呢?