【问题标题】:HttpResponse not returning anything in POSTHttpResponse 在 POST 中没有返回任何内容
【发布时间】:2016-07-24 08:53:35
【问题描述】:

我是 Django 新手,所以如果这是一个愚蠢的问题,请原谅。我正在尝试创建一个非常简单的 REST API,其中文件通过 POST 发送,Django 返回一个 json 字符串。

这是我在views.py中的代码:

def evaluate(request):
    return HttpResponse(json.dumps({"hello world": 123}))

在 urls.py 中:

urlpatterns = [
    url(r'^evaluate/$', csrf_exempt(views.evaluate), name='evaluate'),
]

当我向 /evaluate/ 发出 GET 请求时,我会返回 {"hello world": 123},但是当我发送与 POST 完全相同的请求时,我会收到空​​白响应。

有什么想法可以让 POST 请求也返回 JSON 吗?

【问题讨论】:

  • 视图对我来说看起来不错。你如何发送 POST 请求?响应的状态码是什么?
  • 当我使用 Postman 发送请求时,我只是返回“无法获得任何响应”,或者“此请求没有可用的响应数据”。在 Google Chrome 的开发者工具中 Network->XHR 下。但是,当我添加 print("hello world") 时,它会在 GET 和 POST 请求中显示在控制台中
  • 你试过在你的linux命令中使用curl吗? curl -X POST https://yourdomain.com/evaluate?
  • 卷曲工作。我做了一些进一步的调查,发现是 Chrome 上的 CORS 导致了这个问题。感谢您的帮助

标签: python json django


【解决方案1】:

我做了一些进一步的调查,发现是 Chrome 上的 CORS 导致了这个问题。这是解决方案的链接:https://stackoverflow.com/a/30956822/563762

【讨论】:

    猜你喜欢
    • 2010-11-20
    • 1970-01-01
    • 2018-07-30
    • 2015-10-09
    • 1970-01-01
    • 2016-06-23
    • 2018-04-05
    • 1970-01-01
    • 2018-08-23
    相关资源
    最近更新 更多