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

Django + Ajax

如何解决《Django+Ajax》经验,为你挑选了2个好方法。

所以,我刚刚开始在我的一个Django项目中使用jQuery,但我有一个非常noobie的问题.

在django视图中,您必须从视图中返回一个HttpResponse对象,但有时我不需要返回任何内容.例如,我可能只是通过ajax更新数据库而不需要发回任何东西.所以我的问题是,在那种情况下你做了什么?

谢谢



1> Ionuț G. Sta..:

HTTP响应不仅仅是向浏览器发送内容.响应与状态代码和多个HTTP标头相关联.另外,响应可以包含正文(实际内容).

我认为发送没有正文的HttpResponse对象是可以的.那是:

return HttpResponse()

这将发送状态代码为200 OK的HTTP响应,这正是服务器端发生的事情,即操作成功,一切正常.虽然有更好的方法,请参阅下文.

休息地说,当操作遇到问题时,您应该返回带有适当状态代码的HTTP响应.就像指定服务器端错误的5XX状态代码之一一样.

现在,查看所有这些HTTP状态代码,我们会看到201 Created状态代码,当您将POST数据存储在某个地方(如DB)时,这是一个比200 OK更合适的代码.在这种情况下,您应该在视图中执行以下操作:

return HttpResponse(status=201)

并且,正如已经提到的那样,您可以在JavaScript中利用这些状态代码,以便向用户提供更多信息,或者为您的请求选择其他策略.



2> Jason Christ..:

您仍然希望返回一个HttpResponse,让jQuery知道响应是成功还是失败.包含jQuery的大多数javascript库都在寻找200 ok响应.更不用说返回一个受影响的行数或投票数的JSON对象可能很有用.

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