【发布时间】: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 导致了这个问题。感谢您的帮助