简体   繁体   English

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

[英]Asp.Net Mvc POST method doesn't send string

Ajax doesn't send any strings to the controller. Ajax不会将任何字符串发送到控制器。

Here's my 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('');
    });
});

Here's my controller: 这是我的控制器:

[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 is correctly get into CheckAnswer method but answer is always null. Ajax已正确进入CheckAnswer方法,但答案始终为null。 I've tried other examples from stack, for instance Asp.Net Mvc JQuery ajax input parameters are null but always get null result. 我从堆栈中尝试了其他示例,例如Asp.Net Mvc JQuery ajax输入参数为null,但始终得到null结果。 Do you have any thoughts of the cause? 您对原因有任何想法吗?

Change your request parameters to data: { answer: code } in your request. 将您的请求参数更改为data: { answer: code } It probably can not match code to the parameter on your action. 它可能无法将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('');
    });
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM