2014-04-10 55 views
-1

我在看別人的C#代碼和我正在從System.Web.Http.ApiController繼承的類。控制器 - 返回一個列表,但呈現爲xml/json?

該方法返回一個IList,但當我在查看前端ajax調用時,返回的數據是以xml形式(在瀏覽器中)。 IList中的類在字段上具有[Datamember]屬性,所以我懷疑它是如何被序列化的,但是爲什麼當我直接在瀏覽器中訪問控制器路徑時,它回到xml中,但是作爲jQuery數據返回到jquery中?有點新的這個數據合同的東西,謝謝!

回答

2

這取決於瀏覽器在接受POST或GET時的「ACCEPT」。

在IE中,默認情況下會接受json,但在Chrome中默認會接受XML。

有關工作原理的更多信息,請參閱ASP.NET Web API Tutorial

+0

我剛剛在IE中嘗試過 - 它以.json文件的形式返回。這看起來合適嗎?如果我直接在jQuery中查詢它呢?當我在FireBug上放置一個調試器時,它回來時用XML纏繞它 – user3520332

+0

是的,那是我所期望的。在HTTP標頭中,IE表示默認接受'*。*'內容類型,但沒有明確列出支持的內容類型,因此它返回默認值。在*/*之前指定了Chrome/FireBug'application/xml'的地方,所以它會返回。 –

相關問題