json mimetype 不正确?

发布于 2024-10-31 00:44:24 字数 1042 浏览 0 评论 0原文

我已经关注了How do I JSON Serialize a Python Dictionary? 和这个 什么是正确的 JSON 内容类型? 创建这样的 json 响应:

def json_response(something):
    return HttpResponse(
        simplejson.dumps(something),
        content_type = 'application/json; charset=utf8'
    )

我怎么曾经有两个抱怨:

a) 当我直接在 Google Chrome 中点击我的 ajax URL 时,Inspector 说

资源解释为文档,但 以 MIME 类型传输 应用程序/json。

还尝试了 Firefox,它可以作为文件下载。

b)当我使用 jQuery.ajax 时,仅当我不传递 dataType 参数时才有效,如果我输入例如 dataType:'json' 那么我会在 jquery.js 文件上收到此错误

未捕获的语法错误:意外的标记 :

我做错了什么?

我正在使用 jquery 1.5.2 和 Django Trunk (r15915 大约两周前更新)并仅调用相同的域 URL。

编辑: jQuery.getJSON 不起作用,但在 jquery 1.4.2 上起作用。 在请求标头上查看 Firebug 控制台显示 Content-Type: application/x-www-form-urlencode,这可能与该问题有关。

提前致谢

I have followed this How do I JSON serialize a Python dictionary? and this What is the correct JSON content type? to create a json response like this:

def json_response(something):
    return HttpResponse(
        simplejson.dumps(something),
        content_type = 'application/json; charset=utf8'
    )

How ever I have two complains:

a) When I hit my ajax URL directly in Google Chrome, Inspector says

Resource interpreted as Document but
transferred with MIME type
application/json.

also tried Firefox and it gets as a file to download.

b) When I use jQuery.ajax works only if I don't pass the dataType argument, if I put for example dataType:'json' then I get this error on jquery.js file

Uncaught SyntaxError: Unexpected token
:

What am I doing bad?

I am using jquery 1.5.2 and Django Trunk (r15915 updated about two weeks ago) and calling only same domain urls.

EDIT:
jQuery.getJSON does not work, but worked on jquery 1.4.2.
Looking firebug console on Request Headers says Content-Type: application/x-www-form-urlencode, this may be related to the problem.

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

羞稚 2024-11-07 00:44:24
  1. 是的,当您访问 JSON URL 时,某些浏览器将其视为 text/html,而另一些浏览器则将其视为外部文件类型。您可以使用 JSONView 等插件。

  2. 这应该可以正常工作,尽管它是多余的。听起来像是一个错字。您还应该仔细检查 JSONLint 您的 JSON 文档是否有效。

  1. Yes, when you visit a JSON URL, some browsers treat it as text/html, while others treat it as an external file type. You can use an add-on like JSONView.

  2. This should work fine, even though it's redundant. It sounds like a typo. You should also double-check with JSONLint that your JSON document is valid.

快乐很简单 2024-11-07 00:44:24

jquery validate 插件存在错误,更新到最新版本解决了该问题。

有关此问题的更多信息请参见此处:
https://forum.jquery.com/topic/getjson-and-jquery -1-5

There was a bug with jquery validate plugin, updating to most recent version solved the problem.

More info about the issue here:
https://forum.jquery.com/topic/getjson-and-jquery-1-5

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文