如何从json获取数据到MVC4 c#?

时间:2014-02-23 02:51:03

标签: c# javascript asp.net-mvc json asp.net-mvc-4

我有一个带有表单的MVC4单页网站。使用ajax实现内容的加载。我不知道如何从C#中的JSON中获取数据?这是我的代码:

JavaScript的:

$("#subnt").click(function (event) {
        event.preventDefault();
        var url = "/Home/Submit";
        $.post(url, $('form[name="cnt_us-frm"]').serialize(), function (data) {
            if (data.Success === true) {
                $("#min-content").hide().load("/Home/PartialSubmit").fadeIn('normal');   // loads the page into 'min-content' section
            }
            else {
                // display error message
            }
        })
    });
});

C#:

[HttpPost]
public JsonResult Submit()
    {
        return Json(new { Success = true, SomeOtherData = "testing" });
    }

4 个答案:

答案 0 :(得分:1)

请检查以下工作代码 -

我已经完全使用了你的工作代码 -

    [HttpPost]
    public JsonResult Submit()
    {
        return Json(new { Success = true, SomeOtherData = "testing" });
    }

然后我使用以下JQuery来执行上述操作 -

<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script>
    $(function () {
        $('#click').click(function (e) {
            $.ajax({
                url: "@Url.Action("Submit")",
                type: "POST",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                error: function (response) {
                    alert(response);
                },
                success: function (data) {
                    if (data.Success == true)
                        alert(data.SomeOtherData);
                }
            });
        });
    });
</script>

<input type="submit" value="click" id="click" />

作为输出,我能够得到如下所示的警报 -

enter image description here

答案 1 :(得分:0)

最简单的方法是使用上级json.net

[HttpPost]
public string Submit()
{
    var result = new { success = true, someOtherDate = "testing"};
    var json = JsonConvert.SerializeObject(result);
    return json;
}

答案 2 :(得分:0)

您的代码没问题,但您可以添加调试器。并打开d eveloper tools检查您的data

$.post(url, $('form[name="cnt_us-frm"]').serialize(), function (data) {
             debugger;
            if (data.Success === true) {
                $("#min-content").hide().load("/Home/PartialSubmit").fadeIn('normal');   // loads the page into 'min-content' section
            }
            else {
                // display error message
            }

答案 3 :(得分:0)

不,反过来说。如何从表单(json)中检索数据。