所以,我刚刚开始使用jQuery与我的一个Django项目,但我有一个很漂亮的noobie问题。
在django视图中,您必须从视图中返回一个HttpResponse对象,但有时我不需要返回任何内容。例如,我可能只是通过ajax更新数据库,不需要发回任何东西。所以我的问题是,你在这种情况下做什么?
谢谢
解决方法
HTTP响应不仅仅是向浏览器发送内容。响应与状态代码和几个HTTP标头相关联。另外,响应可能包含一个主体(实际内容)。
我想没有发送一个没有body的HttpResponse对象。那是:
return HttpResponse()
这将发送一个状态码为200 OK的HTTP响应,这正是服务器端发生的情况,即操作成功,一切正常。虽然有更好的方法,见下文。
Restfully说,当操作遇到问题时,应该返回一个适当的status code的HTTP响应。与指定服务器端错误的5XX状态代码之一一样。
现在,查看所有这些HTTP状态代码,当您将数据存储在某个位置时,我们会看到一个201创建的状态代码,该代码是一个比200更合适的代码。在这种情况下,您应该在这样做的情况下做这样的事情:
return HttpResponse(status=201)
而且,正如已经提到过的人,您可以在JavaScript中利用这些状态代码,以便您向用户呈现更多信息性的信息,或者为您的请求选择其他策略。