Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django/Javascript交互中的无响应POST_Javascript_Django_Views_Httpresponse - Fatal编程技术网

Django/Javascript交互中的无响应POST

Django/Javascript交互中的无响应POST,javascript,django,views,httpresponse,Javascript,Django,Views,Httpresponse,我有一个快乐的基于javascript的客户端,它与我的Django服务器端代码对话。我使用几个XMLHttpRequests进行交互,在那里一切都很好。现在有一个用户交互,我希望在服务器上接收用户发送的信息,但我不需要/想要响应 据我所知,Django的所有视图都必须使用HttpResponse项进行响应。我可以发回一个空白的,或者一个HttpResponseNotModified响应。但我收到的任何回复似乎都会提示浏览器端更改为空白屏幕 我不想更改页面、重新加载或其他任何事情。只需离开浏览器

我有一个快乐的基于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)