Django开发跨源读取阻止(CORB)(非CORS)

时间:2019-02-06 17:45:52

标签: ajax django localhost cross-origin-read-blocking

我正在尝试测试对本地Django开发服务器的调用。这是一个返回JSON对象的AJAX调用。 Django视图执行以下操作:

return JsonResponse(response, safe=False)

我通过启动Django服务器(运行后端),然后启动浏览器并打开我修改过的HTML页面来进行测试。 Django不提供这些页面。

在Firefox中,我可以在页面上进行ajax调用。它会返回正确的数据和正确的MIME类型。

在Chrome中,我不能。我收到以下错误:

Cross-Origin Read Blocking (CORB) blocked cross-origin response http://localhost:8000/dataload/alljson with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details.

我试图寻找解决此问题的方法。我已经检查过this question,但是清除缓存的建议没有任何作用。我还发现了涉及使用django-cors-headers的建议,但这是CORB(不是CORS)。尽管如此,我已经安装了corsheaders并设置了CORS_ORIGIN_ALLOW_ALL = True来消除这种可能性。

我的MIDDLEWARE设置具有此

MIDDLEWARE = [
...
"corsheaders.middleware.CorsMiddleware",
"django.middleware.common.CommonMiddleware",
...
]

我在Firefox中获得的响应标头是:

Content-Length      12827
Content-Type        application/json
Date        Wed, 06 Feb 2019 18:38:03 GMT
Server      WSGIServer/0.2 CPython/3.6.7
Vary        Origin
X-Frame-Options     SAMEORIGIN

我正在致电http://localhost:8000/dataload/alljson。如果我呼叫http://localhost:8000/dataload/alljson/(带有斜杠),则会得到404。

仍然没有骰子。

如何让Chrome允许我的开发Django服务器对此ajax调用进行响应?

0 个答案:

没有答案