【发布时间】:2015-06-26 14:04:54
【问题描述】:
我通过像jQuery posts null instead of JSON to ASP.NET Web API(在这个网站上)、
http://encosia.com/using-jquery-to-post-frombody-parameters-to-web-api/ 或
https://weblog.west-wind.com/posts/2012/May/08/Passing-multiple-POST-parameters-to-Web-API-Controller-Methods...
我尝试了所有提示和解决方案,但我的控制器中仍然没有值。
这是我的代码:
客户端 HTML 文件:
var coup = { Token: token, MotPropose: RecupMot() };
var coupJSON = JSON.stringify(coup);
$.ajax({
type: 'POST',
url: urlJeu,
dataType: 'json',
data: coupJSON,
success: function (reponseJSON) {
/* CODE HERE */
},
});
正确发送以下 JSON(Fiddle 说):
{"Token":103,"MotPropose":"ravoi"}
(顺便说一句,我担心 int 103 周围缺少 ",不是吗?)
服务器 C# 控制器和对象:
public object Post([FromBody]CoupMeliMelo coup)
{
return Ok(jeu.JouerLeCoup(coup));
}
public class CoupMeliMelo : ICoup
{
public string MotPropose { get; set; }
public int Token { get; set; }
}
然后,当JSON到达控制器时,对象coup被创建,但MotPropose为null,Token为0。
我被困住了!感谢您的帮助。
【问题讨论】:
-
你能确保 RecupMot() 函数返回字符串值吗?
-
是的,实际上它返回“ravoi”。
-
尝试将
contentType: "application/json; charset=utf-8",添加到您的 ajax 调用中。 -
这是 Web API 控制器还是 MVC 控制器?
-
它是一个 Web API 控制器。
标签: c# jquery asp.net json asp.net-mvc