json mimetype 不正确?
我已经关注了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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,当您访问 JSON URL 时,某些浏览器将其视为 text/html,而另一些浏览器则将其视为外部文件类型。您可以使用 JSONView 等插件。
这应该可以正常工作,尽管它是多余的。听起来像是一个错字。您还应该仔细检查 JSONLint 您的 JSON 文档是否有效。
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.
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.
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