【问题标题】:ASP.NET Web API in IEIE 中的 ASP.NET Web API
【发布时间】:2012-03-27 03:27:46
【问题描述】:

我开始使用新的 ASP.NET Web API。当我使用 FF 或 Chrome 等浏览器打开示例服务方法调用时,它会在浏览器中正确返回 xml。但是,在 Internet Explorer (7-9) 中,它会弹出一个提示:

您要打开或保存从 [服务器名] 读取的数据(58 字节)吗?

当我选择打开时,它会询问要使用哪个程序打开,然后它将显示该程序中的 xml。我希望因为这些方法接受 GET 方法,它只会在浏览器中返回结果,但 IE 似乎并非如此。在返回 JSON 时,我之前使用 ASP.NET MVC 遇到过此类问题,但在这种情况下我什至没有返回 JSON。

我如何告诉 IE 像 FF 和 Chrome 一样在浏览器中返回结果?

【问题讨论】:

    标签: internet-explorer asp.net-mvc-4 asp.net-web-api


    【解决方案1】:

    我知道发布另一个答案有点晚,但它可能对那些真正热衷于让 IE 在其自己的窗口中显示 ASP.NET Web API 结果的其他人有所帮助。我尝试了以下 SOF 线程中列出的解决方案,它对我有用。

    How can I convince IE to simply display application/json rather than offer to download it?

    现在 JSON 格式的 Web API 结果显示在我的 IE 窗口中。

    【讨论】:

    • 该链接提供了一个快速的注册表编辑,可以很好地解决这个问题。
    【解决方案2】:

    这没什么大不了的。 IE 不知道如何处理这些格式。在 chrome 中,它也不能很好地查看 JSON。我在 Google Chrome 上安装了一个名为 JSONView 的扩展程序,现在我有一个很好的视图。

    IMO,不要在意这些。出于测试目的,我总是使用更好的 Fiddler,并且您可以完全控制请求头和其他内容。

    【讨论】:

    • 如果非要支持IE那就大不了了
    • @nickbw 你想让你的用户在 IE 上查看你的 json 输出吗?
    • 我希望他们都使用 chrome,但是其中一些使用旧版本的 IE,我能够使用 json 响应的唯一方法是将内容类型更改为“text/plain” ,然后解析响应。
    【解决方案3】:

    我也注意到了。它实际上将结果作为 JSON 返回。要查看调用结果,请进入开发人员工具 (F12),然后转到网络,单击开始监控并重新发送您的请求。您应该会看到结果出现在跟踪列表中。然后您可以双击它并选择查看正文以查看响应正文。

    【讨论】:

      猜你喜欢
      • 2012-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-04
      • 2013-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多