Asp.Net Mvc POST方法不发送字符串 [英] Asp.Net Mvc POST method doesn't send string

查看:63
本文介绍了Asp.Net Mvc POST方法不发送字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Ajax doesn't send any strings to the controller.

这是我的职能:

$(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输入参数为空,但始终获得空结果.您对原因有任何想法吗?

Ajax is correctly get into CheckAnswer method but answer is always null. I've tried other examples from stack, for instance Asp.Net Mvc JQuery ajax input parameters are null but always get null result. Do you have any thoughts of the cause?

推荐答案

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

Change your request parameters to data: { answer: code } in your request. It probably can not match code to the parameter on your action.

$(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('');
    });
});

这篇关于Asp.Net Mvc POST方法不发送字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆