我们说我有以下情况。 我有一个充满帖子的页面。对于每个帖子,我有一个按钮,通过ajax请求为模型的点变量添加一个点。我希望用户单击该按钮,添加点,使用jQuery从DOM中删除按钮,并在整个会话期间使该删除持久化。因此,刷新不会使按钮重新出现。
我的问题是最后一部分,使该按钮保持删除状态'。我知道http是无状态的,我必须在某个地方保持状态,所以我考虑使用localstorage / localsession或django session在数据库中添加一个字段。
哪种方法最合适?还有其他方法吗?
感谢您的时间,请告诉我,如果我可能错过任何类似的问题,我会立即删除此问题。
答案 0 :(得分:0)
这是一个选项,但我并不认为这是最好的选择!
使用javascript库simplestorage实现跨浏览器兼容性:https://github.com/andris9/simpleStorage
为每个按钮指定一个唯一的ID和同一个类,例如:
<button id="points_123" class="add_points">Add Point</button>
然后在你的javascript中: //记录点击的按钮 $(&#34; .add_points&#34;)。on(&#34;点击&#34;,功能(){
simpleStorage.set(this.id, 1);
});
// when loading page, hide buttons already clicked
// (even to hide everything by default and then show ones not clicked)
$(".add_points").each(function() {
var clicked = simpleStorage.get(this.id);
if (clicked > 0) {
$(this).hide();
}
});