jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Jquery XHR导致dom更改,通过刷新等持续存在大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_403_2@
这更像是一个设计问题,而不是技术问题,但它让我完全难过.

所以,我有一个网页(通过谷歌应用程序引擎托管)列出了一些单独的表格(每个都是一个问题/谜题).单个拼图有许多文本框可供填写,还有一个提交按钮.点击提交后,向服务器(运行python)发出ajax请求,检查给出的答案是否正确.作为回应,页面通过相关文本框添加适当的刻度和十字来更新,以及覆盖整个问题的中等不透明覆盖(以使整个事物具有“灰色”效果).

刷新页面时,这些修改显然会消失.但是,ajax请求会将答案信息保存到数据库中.问题本身是通过使用Jinja2呈现页面来创建的.

因此,所有相关数据都被保存,以便下次用户返回页面时,他过去回答的问题仍然是灰色的,他的答案和勾选/交叉仍然存在.但是,我无法弄清楚最好的方法是什么.我是否使用jinja2循环中的if语句对已完成问题的dom修改进行硬编码(例如:对于每个正在创建的问题,如果它已经被回答,则以不同方式呈现).或者,让页面正常加载,然后对页面上的每个问题/表单执行一个有载XHR会更好吗?

真的我想要做的是,因为每个表单都在Jinja2中呈现,执行xhr以查看它是否在数据库中有答案,如果有,则相应地采取行动.但将jinja2与ajax混合似乎相当混乱,肯定有更好的方法可以@L_674_24@这个问题吗?

很抱歉这个冗长的问题,希望它至少是可以理解的.

解决方法

我选择了#1选项的变体(使用Jinja2来渲染正确的标记) – 除非你渲染了大量的表单,页面应该以非常短的顺序返回(如果你的数字非常大)形式,制作大量的XHR请求不会更快).此外,通过让Jinja呈现您的HTML,您可以确保没有 JavaScript用户至少可以看到他们之前的答案(而不是强迫所有访问您应用的用户启用JavaScript.)

你会想要两件事(如果你还没有它们):

>表示形式/问题的一种方式 – 您@R_633_9381@一个类最适合您需要的封装类型.>将此类的实例呈现为HTML的方法.这正是070​​00设计的那种东西.或者,你可以给你的一个__html__方法,(记得返回@L_326_1@markup实例).

@H_403_2@

大佬总结

以上是大佬教程为你收集整理的Jquery XHR导致dom更改,通过刷新等持续存在全部内容,希望文章能够帮你解决Jquery XHR导致dom更改,通过刷新等持续存在所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。