鉴于我的模型Post
最多可以有 n Comments
(数字由后端控制),我有一个允许添加的视图通过AJAX请求Comment
。在 nth 请求中告诉视图禁用Add-Comment-Form的最佳方法是什么?
第n个请求是成功的,因此状态代码应该仍然是200/201,但后端已经"知道" nth + 1 调用将使Post
无效,所以我想以某种方式告诉视图,以便它可以在用户遇到上的(捕获)错误之前采取行动nth + 1 提交。
到现在为止后端渲染html然后简单地附加到DOM中的div,使用JSON我可能会添加一个额外的字段,但之后会再次将模板移动到视图中。
如果有人想要一个优雅的解决方案?
答案 0 :(得分:1)
只需隐藏“添加评论”按钮,当它为“nth + 1”时。或者从按钮中删除eventListener并将标题更改为smth,例如“您已达到最大评论”。
答案 1 :(得分:1)
跟踪点击次数。点击 n 后,您可以将按钮的disabled
属性更改为true
。
$(".myButton").attr("disabled",true);
答案 2 :(得分:1)
尝试让您的服务器呈现javascript值以进行评论计数和最大评论。然后,您可以增加成功函数中的计数值,也可以渲染html注释。
像
这样的东西 var commentCount = *value from server*;
var maxComments =*value from server*;
$('#mybutton').click(function(){
$.ajax({
// your code here
})
. success(function (response) {
// process response
commentCount ++;
if( commentCount >= maxComments)
$('#mybutton). prop('disabled', true);
});