ASP.NET Web API in IE

17 浏览
0 Comments

ASP.NET Web API in IE

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

您想打开或保存来自[服务器名称]的读取(58字节)吗?

当我选择打开时,它会询问要使用哪个程序打开,然后它将在该程序中显示xml。我原以为由于这些方法接受GET方法,它会在浏览器中返回结果,然而在IE中似乎不是这样。在以前使用ASP.NET MVC返回JSON时,我遇到过类似的问题,但是在这种情况下,我甚至没有返回JSON。

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

0
0 Comments

问题的原因是在IE浏览器中,当访问ASP.NET Web API并返回JSON格式的结果时,浏览器会自动下载该结果,而不是在浏览器窗口中显示。

解决方法是进行快速的注册表编辑。具体步骤如下:

1. 打开注册表编辑器,可以通过按下Win + R键,然后在运行窗口中输入"regedit"并按下Enter键来打开。

2. 导航到以下注册表路径:HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\AttachmentExecute\

3. 在“AttachmentExecute”键下创建一个新的子键,命名为"{0002DF01-0000-0000-C000-000000000046}"。

4. 在新创建的子键下创建一个新的字符串值,命名为"application/json"。

5. 右键单击新创建的字符串值,并选择“修改”选项。

6. 在“数值数据”字段中输入"iexplore.exe",然后点击“确定”保存更改。

完成上述步骤后,再次访问ASP.NET Web API并返回JSON格式的结果,该结果将会在IE浏览器中显示,而不会自动下载。

以上就是解决在IE浏览器中显示ASP.NET Web API结果的方法。通过进行注册表编辑,我们可以让IE浏览器直接在窗口中显示返回的JSON结果,而不是下载它。希望这篇文章对那些希望在IE浏览器中显示ASP.NET Web API结果的人有所帮助。

0
0 Comments

问题:ASP.NET Web API在IE中的问题

原因:返回结果为JSON格式,无法直接在IE中查看。

解决方法:使用开发者工具查看结果。

具体步骤:

1. 打开开发者工具(按F12键)。

2. 进入网络(Network)选项卡。

3. 点击开始监视(Start Monitoring)按钮。

4. 重新发送请求。

5. 在追踪列表中可以看到结果。

6. 双击结果,在弹出窗口中选择查看响应主体(View Body)。

代码如下:


I've noticed that too. It is actually returning the results as JSON. To view the result of the call go into the developer tools (F12), then go to Network, click start monitoring and resend your request. You should see the result appear in the trace list. You can then double click it and select View Body to see the response body.

0
0 Comments

问题的原因:

IE不知道如何处理这些格式,无法正确显示JSON格式的内容。

解决方法:

1. 在Google Chrome上安装一个名为JSONView的扩展程序,可以改善JSON在Chrome上的显示效果。

2. 对于测试目的,可以使用Fiddler来发送请求并查看响应结果,Fiddler提供了更好的控制请求头和其他参数的能力。

3. 如果必须支持IE浏览器,可以将响应的内容类型(content type)设置为"text/plain",然后在前端代码中解析响应内容。

0