1

或者更确切地说,它将它们作为文本返回,这真的很奇怪。所以我在我的javascript中有这行代码来测试这个

 $.get('/static/js/categories.json', function(response){ console.log(response); });

我可以验证资源的实际位置是否存在,因为状态码是 200,并且我在 Chrome 控制台窗口中看到了带有内容的 responseText。现在的问题是...

当我从本地开发服务器运行它时,只有responseText

当我在实际站点上运行它时,在控制台中,它返回responseJSONresponseText

有谁知道为什么会这样?本质上,它没有返回一个 javascript 对象

所以实际的服务器运行apache。是否有可能由于某种原因,Django 开发服务器错误地设置了响应的 MIME 类型?


明显修复

好吧,这似乎是这个问题中遇到的同样的问题。它是通过添加修复的

if DEBUG:
    import mimetypes
    mimetypes.add_type("application/json", ".json", True)

settings.py 中,但这并不能回答为什么开发服务器无法为某些类型的内容正确设置 MIME 类型的更大问题

编辑

事实上,很多 mimetypes 似乎都关闭了。例如,在我的 apache 服务器上,.pngs 被传输为image/png,而在开发服务器上它是image/x-png

4

0 回答 0