ajax – IE想从Django下载返回的JSON
发布时间:2020-12-16 02:54:32 所属栏目:百科 来源:网络整理
导读:我有一个Django站点,其中一个页面正在进行基于 AJAX的文件上传(使用 Valum’s file uploader),它通过JSON返回一些信息. Django返回JSON的方式是…… return HttpResponse( json.dumps( info ),mimetype="application/json" ) 在Firefox,Chrome和Safari中尝试
我有一个Django站点,其中一个页面正在进行基于
AJAX的文件上传(使用
Valum’s file uploader),它通过JSON返回一些信息. Django返回JSON的方式是……
return HttpResponse( json.dumps( info ),mimetype="application/json" ) 在Firefox,Chrome和Safari中尝试页面时,我会获得文件上传器的相应行为,标记上传完成并将数据插入页面上的表格中. 在IE8中进行测试后,我在Django发回JSON后得到了错误的行为:出现了一个下载对话框 – 如果保存它就是JSON文本 – 并且文件上传者继续认为文件正在上传,因为它没有收到任何响应从服务器. IE必须看到响应并将其解释为下载而不是将其传递给页面的javscript.请注意,我已经尝试将mime更改为application / javascript,这似乎没有任何区别.有人得到了修复? 解决方法
IE存在来自iframe的“application / json”响应问题.
虽然我不知道Django的细节,但我可以从其他框架的经验中说,解决这个问题的最简单方法之一是将响应作为“text / html”返回,然后将该字符串解析为JSON.在这种情况下,我猜它就像将响应更改为: return HttpResponse( json.dumps( info ),mimetype="text/html" ) 然后解析你喜欢的任何框架的响应(无论是原生的JSON.parse还是jQuery.parse等). 应仅针对您是ajax上传文件的情况进行本地化(就像您在这里一样). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |