当前位置: 首页 > 面试题库 >

如何说服IE仅显示application / json而不是提供下载?

程凯定
2023-03-14
问题内容

在调试使用AJAX的jQuery应用程序时,我经常需要查看服务返回给浏览器的json。因此,我将JSON数据的URL放入地址栏中。

这对ASPNET很好,因为在发生编码错误的情况下,我可以在浏览器中看到ASPNET诊断错误:

替代文字

但是,当服务器端代码正常工作并实际返回JSON时,IE会提示我下载它,因此看不到响应。

替代文字

我可以让IE不这样做吗,换句话说,就是像纯文本一样显示它吗?

我知道如果将Content-Type标头设置为,我可以做到这一点text/plain

但这特别是一个ASPNET
MVC应用程序的上下文,当我在一种操作方法上使用JsonResult时,它将自动设置响应。我也想保留适当的内容类型,而不是仅仅为了支持调试而更改它。


问题答案:

我找到了答案。

您可以通过更新注册表将IE8配置为在浏览器窗口中显示application /
json。无需外部工具。我没有对此进行广泛的测试,但是它可以在Vista上的IE8上使用。

要使用此功能,请记住,所有有关更新注册表的常规警告都适用。停止IE。然后,将以下内容剪切并粘贴到名称为的文件中json-ie.reg

Windows Registry Editor Version 5.00
;
; Tell IE to open JSON documents in the browser.  
; 25336920-03F9-11cf-8FD0-00AA00686F13 is the CLSID for the "Browse in place" .
;

[HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/json]
"CLSID"="{25336920-03F9-11cf-8FD0-00AA00686F13}"
"Encoding"=hex:08,00,00,00

[HKEY_CLASSES_ROOT\MIME\Database\Content Type\text/json]
"CLSID"="{25336920-03F9-11cf-8FD0-00AA00686F13}"
"Encoding"=hex:08,00,00,00

然后双击.reg文件。重新启动IE。勾选带有Content-Type: application/json或的返回文档的URL时,您将获得以下新行为Content-Type: text/json

替代文字

它做什么,为什么起作用:

25336920-03F9-11cf-8FD0-00AA00686F13是“就地浏览”操作的CLSID。基本上,此注册表项告诉IE,对于具有MIME类型的application
/ json的文档,只需就地查看即可。这不会影响通过<script>标签或XHR等下载的任何application / json文档。

CLSID和编码密钥获得用于相同的价值观image/gifimage/jpegtext/html

此提示来自此站点,以及Microsoft的文章“ 在Internet
Explorer中处理MIME类型”。

在FF中,您也不需要外部加载项。您可以只使用view-source:伪协议。在地址栏中输入如下网址:

view-source:http://myserver/MyUrl/That/emits/Application/json

IE也一直支持该伪协议,直到WinXP-sp2,Microsoft出于安全原因禁用了该伪协议。



 类似资料:
  • 我有一个这样的表格: 这将重定向到Servlet,Servlet将请求转发到jsp文件。在Opera、Chrome、Safari和Firefox上,这非常有效。 但是,互联网浏览器和边缘将最终的jsp页面下载为html文件。当您使用浏览器打开它时,页面呈现得很好。此外,在 http://validator.w3.org 中验证时,该页面不会显示任何错误 它重定向到的jsp文件的头如下所示: 你知道

  • 我有一个自定义文本字段,但如图所示,底部文本字段看起来如此模糊和空,我想保持提示显示,即使字段不集中,我如何在颤振中实现这一点? 这里是我的小部件代码:

  • 我从1.8升级了nginx。0到1.9。今天7点,为了让一个网站重新工作,他不得不换几行。现在它可以在ssl(443)上工作,但不能在http(80)上工作。我必须将fastcgi_参数更改为fastcgi。形态。 当我通过Cloud flare尝试一个网站时,它说与我的服务器没有连接。直接连接我得到一个下载的文件。看起来像一个压缩文件,在浏览器上没有得到解压缩。这是标题。 浏览器或服务器上没有错

  • 试图制作一个简单的应用程序,从服务器获取JSON数据,并在自定义列表中显示它们,非常简单的事情。 但当我运行应用程序时,它显示的是白色空白屏幕,但没有数据。它也没有显示任何错误,我假设如果有任何错误,它不会在我的手机中运行。但不显示获取的数据。 下面是类 我发现的其他问题与我的问题不匹配,否则不会添加这个问题。

  • 我有一个用Wamp开发的php MVC网站作为测试服务器,它在Chrome、Opera、Safari和FF中运行得非常好。然而,每当我试图在IE或Edge中打开它时,html就会作为一个文件下载,并带有一个随机名称,没有扩展名。 我试着把它上传到我的共享主机上,仍然会遇到同样的问题,改变电脑来访问页面也没有什么区别。 我有一种感觉,我需要为IE和Edge声明一些东西,但不知道如何处理这个问题...

  • 文件:/springboot1_firstwebapp/pom.xml