当前位置:  开发笔记 > 编程语言 > 正文

AJAX与Django(或任何Web框架)的"最佳实践"是什么?

如何解决《AJAX与Django(或任何Web框架)的"最佳实践"是什么?》经验,为你挑选了1个好方法。

我正在Django开发一个问题跟踪应用程序,主要用于学习练习,也适用于我自己的项目 - 我正在研究使用一些AJAX来增强可用性.例如,允许用户"加注"特定问题,这会将其添加到监视列表中.这是在很多站点中实现的,并且通常是AJAX - 因为用户正在查看的URL在单击星标时不需要更改.

现在,我想知道从我的star_unstar观点返回什么样的响应- 检测是否通过AJAX发出请求.

目前,如果请求是一个AJAX请求,它只返回星号所需的HTML部分,因此我可以替换星号父DIV中的HTML,以便星号显示为"on"或"off",取决于用户的操作.

但是,我更愿意返回某种JSON对象,因为它看起来更"合适",我想.这个方法的问题是javascript必须修改星形图像的src属性,href它上面和链接标题,这对于这样一个简单的功能似乎很多工作.我也在考虑将来的在线评论,但我想了解在开始编写大量JS之前应该如何"完成".

在实现这样的功能时,普遍的共识是什么,不仅仅是Django,还有所有以类似方式运行的框架?



1> Kai..:

当我使用Ajax时,我主要关心的是限制我必须发送的数据量.这种类型的Ajax应用程序应该非常敏感(如果可能,则不可见).

在切换星形的情况下,我会将实际的开/关状态创建为CSS类,StarOn和StarOff.当客户第一次访问页面时,客户端将下载off和on星,考虑到星形是一个小图像,这是可以接受的.如果您想在将来更改星形外观,您将只编辑CSS,而根本不需要触摸javascript.

至于Ajax,我会来回发送一件事 - 一个JSON变量true/false,表示请求是否成功.一旦用户点击星号,我就会将其更改为StarOn状态并发出请求.99%的时间Ajax将返回true,用户甚至不会意识到Web请求中存在某种延迟.在极少数情况下你需要false返回,你必须将星形还原为StarOff并向用户显示错误消息.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有