asp.net – WebAPI不返回XML,即使有正确的Accepts头
|
我使用ASP.NET WebAPI RC,并托管一个API控制器,没有什么想象。一切工作正常与JSON,但我使用Accepts头测试请求不同的格式,这是我遇到了麻烦。 我使用jQuery发出一个AJAX请求,并设置请求的’dataType’参数。这正确设置了相应的Accept标头,如下所示。 $.ajax({
type: method,url: url,dataType: "xml",data: data || null,success: function (data) {
// omitted
}
});
这里是fiddler请求/响应的保存。正如你可以看到Accept头指示application / xml,但WebAPI返回JSON。我也试过手动设置接受标题只是“application / xml”(所以它没有文本/ html东西),但没有效果。 我失去了什么? (注意:我已经在数据中删除了一些机密信息,但没有调整它否则) GET http://localhost/insp**snip**6716 HTTP/1.1
Host: localhost
Connection: keep-alive
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML,like Gecko) Chrome/21.0.1180.60 Safari/537.1
Accept: application/xml,text/xml,*/*; q=0.01
Referer: http://localhost/inspector/api/test?
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: m=34e2:|2c69:t|47ba:t|4e99:t; .INSPECTOR3COOKIE=08BA683091E2A457B1832E9B*snip*F911D9ED97076
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
Persistent-Auth: true
X-Powered-By: ASP.NET
Date: Fri,03 Aug 2012 22:27:42 GMT
Content-Length: 1816
{"Id":2416716,"ProjectId":36,"Url":"http://ins *snip,but obviously this is JSON not XML *
我想指出,我不是在调整任何格式化在AppStart或任何东西,所以据我所知,JSON和XML格式化程序应该默认启用。 更新:我想出了 – 检查我自己的答案下面 解决方法我想到了!我有我的AppStart,因为我想要的Xml序列化而不是DataContract序列化: GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true; 然而…显然有一些关于我的模型,使得Xml Serializer认为它不能序列化它。我猜猜是导致WebAPI决定使用JSON格式化程序。 完全不直观的,这种无害的设置实际上可能影响使用哪个格式化程序。希望WebAPI人们看到这个:) 某种工具,让你了解内容谈判过程的输入和输出,所以你可以调试这样的问题会很好。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 在jQuery对话框中的窗体中,MVC中通常采用的方法
- asp.net – CheckBoxList多个选择:难度模型绑定
- asp.net-mvc – 如何锁定一个asp.net mvc动作?
- 如何使用ASP.NET Repeater删除尾随逗号?
- asp.net-mvc – 如何使ASP.NET路由转义路由值?
- asp.net-mvc – ASP.NET Azure 400错误请求不返回JSON数据
- asp.net – Visual Studio不识别新类
- asp.net – 剑道:网格中的ComboBox – 将选定组合框的其他
- asp.net-mvc-4 – 防伪标记和Web测试
- asp.net-mvc – 具有多个路由值的Url.Action帮助器的问题
- asp.net-mvc – View()vs. PartialView()
- ASP.NET表单中的Paypal表单
- asp.net – DataBinding Eval到2个小数位置不显示
- asp.net-mvc – ASP.NET MVC / IIS 7.5:500内部
- asp.net-mvc-5 – MVC5中的域路由
- asp.net-mvc – asp.net mvc从包中排除css文件
- Asp.net mvc验证用户登录之Forms实现详解
- asp.net-mvc – 将参数传递给html partial并在部
- asp.net-mvc – 将类应用于@ Html.ValidationMes
- asp.net – System.Runtime.InteropServices.COM
