ASP.NET Web API in IE
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那样在浏览器中返回结果?
问题的原因是在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结果的人有所帮助。
问题: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.