2010-09-16 128 views
0

我有一个WCF服务设置为通过多个端点(SOAP,JSON和XML)提供服务数据SOAP和XML工作完美,但是当我尝试查看JSON I得到一个提示,用json结果下载文件,而不是在浏览器中显示结果。这可能并不重要,因为客户端很可能会使用某种.net环境中的数据,这些数据将能够本机处理响应,但我想知道是否有方法显示json结果浏览器就像XML结果一样。从WCF服务提供JSON服务在IIS中没有扩展

我使用得到的结果的URL的一个例子: http://localhost/api/Service.svc/json/GetResults?name=Test&test=test

这就促使我下载了一个名为“GetReults”不带扩展名和文件类型的文件是:应用程序/ JSON

+0

我认为这是默认行为如何浏览器处理application \ json mime类型。 – 2010-09-16 20:27:41

回答

0

如果您的目标是在浏览器中查看json响应的内容,那么在Firefox中更改您的设置或使用其他浏览器。我已经尝试过类似的事情与IE浏览器,并显示在浏览器中的JSON内容没有做任何改变。不确定Chrome会做什么。

我有一个类似的情况与休息电话,我发布请求。我在Grails中做了一个模拟休息服务,并注意到当我使用Firefox打开实时服务器或模拟服务器时,它一直要求我下载该文件,但不要使用IE。我现在正在处理的问题是,我试图用SoapUI打我的模拟终端,它也要求我下载文件。如果我用SoapUI命中实时服务器,它不会要求我下载该文件。

仍试图找出这个问题。

0

这正是期望的行为。返回响应的内容类型是“application/json”。大多数浏览器无法以内联方式显示内容(除非手动配置),因此它们会提示您下载文件。

如果你真的保存了这个文件,并用 - 打开记事本打开它 - 你会注意到纯JSON响应包含在文件中。

但是,无法处理此内容类型和浏览器强制执行此下载几乎从未成为问题。原因是,使用此JSON端点的一般用例是ASP.NET AJAX框架驱动的网页(自动创建这些请求并自行解析响应),脚本环境(如Python或Perl)(它们再次只是获取请求并解析它们)或自定义JavaScript框架。

希望这有助于!