一、默認情況下WebApi
對於沒有指定請求數據類型類型的請求,返回數據類型為Xml格式
例如:從瀏覽器直接輸入地址,或者默認的XMLRequest,或者AngularJs的get請求等。
對於有循環引用的也會拋出異常““ObjectContent`1”類型未能序列化內容類型“application/xml; charset=utf-8”的響應正文。”
二、設置返回格式為Json數據
1.修改配置,這對所有的接口都生效
找到Global.asax文件,在Application_Start()方法中添加一句:
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear()
2.針對某一個接口設置
解決的方法是自定義返回類型(返回類型為HttpResponseMessage)
public HttpResponseMessage PostUserName(User user) { String userName = user.userName; HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(userName,Encoding.GetEncoding("UTF-8"), "application/json") }; return result; }
更多:
Asp.Net WebApi+Microsoft.AspNet.WebApi.Core 啟用CORS跨域訪問
使Asp.net WebApi支持JSONP和Cors跨域訪問
自定義序列化處理:www.cnblogs.com/acles/archive/2013/06/21/3147667.html