Mar*_*ing 10 json asp.net-mvc-4 asp.net-web-api
我正在与Asp.Net中的"新"WebApi挣扎......
我只想发布一些Json,但它没有反序列化我的数据......我做错了什么?!
控制器类
public class UtilityController : ApiController
{
[HttpPost]
public string Bla(Bla bla)
{
return "bla";
}
}
Run Code Online (Sandbox Code Playgroud)
Bla类:
public class Bla
{
public string Een { get; set; }
public string Twee { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
Api配置:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{Action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
发布数据:
var bla = $.parseJSON('{"Een":"UNO","Twee":"DUE"}');
$.ajax({
type: "POST",
url: "/api/utility/Bla",
data: {Bla : bla},
dataType: "json"
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
Dar*_*rov 22
我做错了什么!
您没有发送JSON请求.您正在发送application/x-www-form-urlencoded请求.
因此,请确保您发送的是真正的JSON请求:
var bla = { "Een": "UNO", "Twee": "DUE"};
$.ajax({
type: 'POST',
url: '/api/utility/Bla',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(bla),
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
Run Code Online (Sandbox Code Playgroud)
请注意我是如何设置正确的contentType标头application/json,我如何使用该JSON.stringify方法发送真正的JSON请求以及我如何摆脱dataType: 'json'jQuery完全能够从Content-Type响应标头中自动推导出的无用参数服务器发送.
| 归档时间: |
|
| 查看次数: |
13473 次 |
| 最近记录: |