Asp.Net Mvc POST方法不发送字符串

Ajax不会向控制器发送任何字符串。

这是我的function:

$(function () { $('#btnAnswer').click(function () { var code = $('#Answer').val(); $.ajax({ url: '@Url.Action("CheckAnswer", "Home")', type: "POST", data: code , datatype: "text", success: function (resultFromFunct) { $("#resultsBox").append(resultFromFunct); } }); $('#Answer').val(''); }); }); 

这是我的控制器:

 [HttpPost] public string CheckAnswer(string answer)/ { game.LogUserAnswer(Request.Cookies["user"].Value, answer); return String.Format("{0}: {1} 
", Request.Cookies["user"].Value, game.UserGuess(answer)); }

Ajax正确进入CheckAnswer方法,但答案始终为null。 我已经尝试过堆栈中的其他示例,例如Asp.Net Mvc JQuery ajax输入参数为null但总是得到null结果。 你对这个事业有什么看法吗?

在请求中将请求参数更改为data: { answer: code } 。 它可能无法将code与您的操作上的参数匹配。

 $(function () { $('#btnAnswer').click(function () { var code = $('#Answer').val(); $.ajax({ url: '@Url.Action("CheckAnswer", "Home")', type: "POST", data: { answer: code }, datatype: "text", success: function (resultFromFunct) { $("#resultsBox").append(resultFromFunct); } }); $('#Answer').val(''); }); });