Javascript 我如何有效地写一个“a”;“切换数据库值”;AJAX中的函数?

Javascript 我如何有效地写一个“a”;“切换数据库值”;AJAX中的函数?,javascript,database,ajax,performance,toggle,Javascript,Database,Ajax,Performance,Toggle,假设我有一个网站,它向用户显示了十幅图像,并要求他们通过点击按钮对每幅图像进行分类。按钮用于“搞笑”,按钮用于“吓人”,按钮用于“漂亮”,等等。这些按钮不是唯一的。一幅画既有趣又可怕 用户点击“搞笑”按钮。将向数据库发送一个AJAX请求,以将该图像标记为有趣。通过在DOM中指定一个类来将其标记为“开”,该“搞笑”按钮亮起 但是用户犯了一个错误。他们打算按下一个按钮。他们应该再次点击“搞笑”来关闭它,对吗 在这一点上,我不确定什么是最有效的方式进行 数据库知道设置了“funcy”标志,但每次单击按

假设我有一个网站,它向用户显示了十幅图像,并要求他们通过点击按钮对每幅图像进行分类。按钮用于“搞笑”,按钮用于“吓人”,按钮用于“漂亮”,等等。这些按钮不是唯一的。一幅画既有趣又可怕

用户点击“搞笑”按钮。将向数据库发送一个AJAX请求,以将该图像标记为有趣。通过在DOM中指定一个类来将其标记为“开”,该“搞笑”按钮亮起

但是用户犯了一个错误。他们打算按下一个按钮。他们应该再次点击“搞笑”来关闭它,对吗

在这一点上,我不确定什么是最有效的方式进行

数据库知道设置了“funcy”标志,但每次单击按钮询问数据库是否设置了该标志,然后继续第二次数据库调用以切换该标志,这是效率低下的

我是否应该从DOM推断数据库标志的状态,即,如果该按钮具有类“on”,则必须设置标志,并在该点进行分支


或者在页面中使用Javascript的数据结构来复制数据库中每个图像的状态会更好,这样每次我将数据库标志设置为true时,我也会将Javascript数据中的值设置为true,依此类推?

页面状态应该足够了。毕竟,页面状态是用户看到和操作的;他们希望操作的结果能够反映他们看到的内容。

我会在页面上保留js中元素的状态,并通过Ajax发出状态更改请求。在服务器端,直接处理或引入状态验证检查是合理的

然而,这取决于系统架构的各个方面。如果评级在用户之间共享或在其他类似情况下共享,则您可能需要强制执行往返以检查当前状态(或者如果您具有附加的标称标志)