gpt4 book ai didi

xml - 如何防止 JSON Web 服务响应下载到文件?

转载 作者:行者123 更新时间:2023-12-02 01:14:40 24 4
gpt4 key购买 nike

我有一些几乎相同的 WCF 服务代码,除了一种方法应该返回 xml 结果,而另一种方法应该返回 json 结果:

[ServiceContract]
public interface IRestServiceImpl
{
[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "xml/{id}")]
string XMLData(string id);

[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "json/{id}")]
string JSONData(string id);
}

xml 工作正常(例如,当我在浏览器中输入“http://localhost:4841/RestServiceImpl.svc/xml/2468”时)。

但是,当我输入“http://localhost:4841/RestServiceImpl.svc/json/2468”时,出现“文件下载 - 安全警告”对话框,它允许我保存一个文件(在本例中名为“2468”),在记事本中打开时包含以下内容:

{"JSONDataResult":"您请求了产品 2468"}

这是“按设计”(将 json 结果保存到文件),还是为什么它的行为方式与 xml-o-rama 不同?

最佳答案

由您的浏览器决定如何处理任何特定的 Content-Type,这听起来好像您的浏览器不知道如何处理 JSON。

要检查这一点,请在使用 Chrome Dev Console 或 Firebug(或您使用的任何浏览器中的任何等效内容)时查看加载该资源时的网络请求。在标题中,您应该看到类似

的内容
Content-type: application/json

如果这样做,则问题出在您的浏览器上。如果你没有看到,你的服务器或服务代码是错误的(特别是如果它是 application/octet-stream,它是“我不知道”的 mime 类型等价物)。

就浏览器而言,我个人推荐 Chrome + 这个用于显示格式化 JSON 输出的优秀插件:https://github.com/callumlocke/json-formatter

关于xml - 如何防止 JSON Web 服务响应下载到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12940785/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com