AJAX/HTML如何存储复杂的数据
AJAX / HTML How to store complex data
考虑这个用例。
我有一个表(<table>
),它使用户能够输入在给定的一周中花在给定项目上的时间。
例如。
--------------------------------------
|Project ID: | Monday | Tuesday | ...|
| 123 | 7:15 | 3:45 | ...|
| 124 | 1:15 | 0:45 | ...|
| 125 | 0:00 | 0:00 | ...|
然后,在用户输入这些行之后,我需要回发所有这些行。我以前也做过类似的事情,在这里我有单独的表单来描述每一行,然后用jQuery迭代它们,以构建一个JSON对象,将它们作为数组包含在内。
每行结构:
<tr>
<form name="RowData">
<input type="hidden" Name="ProjectID" value="123" />
<input type="hidden" Name="Monday" value="..." />
<input type="hidden" Name="Tuesday" value="..." />
</form>
<td></td> <!-- Containing the text input and so forth -->
<td></td>
<td></td>
</tr>
回发结构:
json:{
rows:[
{
ProjectID: 123,
Monday: '7:15',
Tuesday:'3:45', // etc...
},
{
ProjectID: 124,
Monday: '1:15',
Tuesday:'0:45'
}, // etc...
]
}
*请注意,这并不是我将如何发送数据的实际表示,而只是一个结构,让你了解我的想法*
但我觉得必须有一个更好、更直观的方法来做到这一点。将复杂的结构存储在HTML或Javascript中,以便通过AJAX更容易地发布。
我把它存储在Javascript中的问题是让它与页面和用户看到的内容保持同步。
如果你们中的一些人有更好的方法,请告诉我,并可能详细解释它是如何工作的,以及为什么它是一种更好的方法。
嗨你可以试试http://knockoutjs.com/
我在MVC中使用了一个简单的技巧,如果你想的话,你也可以使用它。
<script>
var dataMap = {};
</script>
@foreach(var item in Model.Urmodel) {
<tr data-id="@item.Id"> ... etc </tr>
<script>
dataMap['@item.Id'] = @Json(item); // you'd have to make a Html helper to do this
</script>
}
相关文章:
- 将作用域存储在JSON中
- 使用javascript存储变量的最安全方式
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 如何有效地将游戏数据存储在URL查询字符串中
- Ember.js-接口状态应该存储在哪里
- 如何解雇“;铁局部存储负载”;事件
- 本地存储中的字符串到字节数组转换
- 在Redux中,我应该在哪里编写复杂的异步流
- 从jQuery调用存储在Variable中的函数
- 推荐在JavaScript中执行存储为字符串的函数,而不是使用eval
- 如何在 jQuery 中存储复杂对象/Razor 中的数据属性
- AJAX/HTML如何存储复杂的数据
- 如何正确存储复杂的jquery选择器链以供重用
- 在sencha touch 1.1中加载要存储的复杂对象
- 在chrome.storage中存储一个复杂对象
- 如何更新“复杂”使用jQuery's .data()存储的数据
- 如何可靠地存储复杂的表单数据以供提交
- ExtJS存储和复杂对象
- 复杂的HTML工具提示(存储)-架构建议