【问题标题】:Controller - Returns a list yet is rendered as xml/json?控制器 - 返回一个列表,但呈现为 xml/json?
【发布时间】:2014-04-10 21:01:30
【问题描述】:

我正在查看某人的 c# 代码,而我正在查看的类继承自 System.Web.Http.ApiController。

该方法返回一个 IList,但是当我查看前端 ajax 调用时,返回的数据是 xml 格式(在浏览器中)。 IList 中的类在字段上有 [Datamember] 属性,所以我怀疑它是如何序列化的,但是为什么当我直接在浏览器中转到控制器路径时它以 xml 形式返回,但在 jquery 中以 json 数据形式返回?这个数据合同的东西有点新,谢谢!

【问题讨论】:

    标签: c# asp.net-mvc json serialization controller


    【解决方案1】:

    这取决于浏览器在 POST 或 GET 时“接受”什么。

    在 IE 中默认接受 json,但在 Chrome 中默认接受 XML。

    请参阅ASP.NET Web API Tutorial 了解有关其工作原理的更多信息。

    【讨论】:

    • 我刚刚在 IE 中尝试过 - 它以 .json 文件的形式返回。这看起来对吗?如果我直接在 jQuery 中查询呢?当我在 FireBug 中对其进行调试时,它返回时将 XML 包裹起来
    • 是的,这正是我所期望的。在 HTTP 标头中,IE 说它默认接受 *.* 内容类型,但没有明确列出支持的内容类型,因此它返回默认值。在 Chrome/FireBug 中,application/xml*.* 之前指定,所以它会返回。
    猜你喜欢
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 2021-01-24
    • 1970-01-01
    相关资源
    最近更新 更多