Django/Javascript交互中的无响应POST
我有一个快乐的基于javascript的客户端,它与我的Django服务器端代码对话。我使用几个XMLHttpRequests进行交互,在那里一切都很好。现在有一个用户交互,我希望在服务器上接收用户发送的信息,但我不需要/想要响应 据我所知,Django的所有视图都必须使用HttpResponse项进行响应。我可以发回一个空白的,或者一个HttpResponseNotModified响应。但我收到的任何回复似乎都会提示浏览器端更改为空白屏幕 我不想更改页面、重新加载或其他任何事情。只需离开浏览器会话即可。我不需要确认,也不介意在大量回复中是否丢失了一些帖子Django/Javascript交互中的无响应POST,javascript,django,views,httpresponse,Javascript,Django,Views,Httpresponse,我有一个快乐的基于javascript的客户端,它与我的Django服务器端代码对话。我使用几个XMLHttpRequests进行交互,在那里一切都很好。现在有一个用户交互,我希望在服务器上接收用户发送的信息,但我不需要/想要响应 据我所知,Django的所有视图都必须使用HttpResponse项进行响应。我可以发回一个空白的,或者一个HttpResponseNotModified响应。但我收到的任何回复似乎都会提示浏览器端更改为空白屏幕 我不想更改页面、重新加载或其他任何事情。只需离开浏览器
我可以执行XMLHttpResponse并捕获响应并忽略它。但是我想知道是否有办法解决这个问题。您应该返回一个
Http204/No Content
,它告诉浏览器您的服务器已确认并处理了您的请求,但它没有返回任何内容,并在您的应用程序中适当地处理(无论您希望如何)
如果您正在使用jQuery(例如),那么这将自动转到您的success
处理程序,如果您对此无法控制,那么您已经尽了最大努力
阅读状态代码的完整列表您应该返回一个
Http204/No Content
,它告诉浏览器您的服务器已确认并处理了您的请求,但它没有返回任何内容,并在您的应用程序中适当地处理(无论您希望如何)
如果您正在使用jQuery(例如),那么这将自动转到您的success
处理程序,如果您对此无法控制,那么您已经尽了最大努力
阅读状态代码的完整列表如果没有任何代码,将很难回答此问题。是否可以添加有问题的客户端代码(假设服务器只发送一个空响应)?如果没有任何代码,将很难回答此问题。你能添加有问题的客户端代码吗(假设服务器只发送一个空响应)?啊-谢谢。出于某种原因,我没有想到204,而是专注于HttpResponse子类。我在Django响应代码列表中没有看到204的子类,但有一个简单的:return-HttpResponse(status=204)可以正常工作。:。。。作为补充,我发现了一个不同的Django文档页面,其中包含更多响应对象。对于那些感兴趣的人,请参阅@RossGK,它是名为
django extras
的第三方应用程序,不包括在标准DjangoYes-good point中。有趣的是,django.httpWell中没有包含一些基本的W3C响应代码,这就是为什么我们有HttpResponse(status=xxx)
。啊-谢谢。出于某种原因,我没有想到204,而是专注于HttpResponse子类。我在Django响应代码列表中没有看到204的子类,但有一个简单的:return-HttpResponse(status=204)可以正常工作。:。。。作为补充,我发现了一个不同的Django文档页面,其中包含更多响应对象。对于那些感兴趣的人,请参阅@RossGK,它是名为django extras
的第三方应用程序,不包括在标准DjangoYes-good point中。有趣的是,一些基本的W3C响应代码没有包含在django.httpWell中,这就是为什么我们有HttpResponse(status=xxx)
。