Ajax不会向控制器发送任何字符串。
这是我的功能:
$(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("<strong>{0}</strong>: {1} <br>", Request.Cookies["user"].Value, game.UserGuess(answer));
}
Ajax正确进入CheckAnswer方法,但答案始终为null。我已经尝试过堆栈中的其他示例,例如Asp.Net Mvc JQuery ajax input parameters are null,但总是得到null结果。你对这个事业有什么看法吗?
答案 0 :(得分:3)
将请求参数更改为您的请求中的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('');
});
});