【问题标题】:How do I code my controller action to receive data from ajax or json call?如何编码我的控制器操作以接收来自 ajax 或 json 调用的数据?
【发布时间】:2014-03-24 23:28:26
【问题描述】:

我正在尝试使用我的 asp.net 视图调用我的控制器。动作的对象参数始终为空。由于这对我来说是新的,我认为我必须使用错误的结果类型。我正在使用

Public ActionResult(Object data)
{
    return view();
} 

经过研究,我觉得我可能需要使用这样的东西:

     Public JsonResult(object data)
     {
         Return something();
     }

我的问题是基于我下面的脚本,我需要在我的控制器中有特定的 using 语句吗?我的操作应该是 ViewResult 还是 JsonResult 类型?

如果需要的是 JsonResult,我该如何编写代码以从下面的 ajax json 代码中接收数据。

<script type = "text/javascript">
$(function() {

    var data = [
        ["", "Kia", "Nissan", "Toyota", "Honda"],
        ["2008", 10, 11, 12, 13],
        ["2009", 20, 11, 14, 13],
        ["2010", 30, 15, 12, 13]
    ];

    var $container = $("#myHandsonTable");

    $container.handsontable({
        data: data,
        startRows: 15,
        startCols: 16,
        rowHeaders: true,
        colHeaders: true,
        useFormula: true,
        minSpareCols: 1,
        minSpareRows: 1,
        contextMenu: true,

        outsideClickDeselects: false,
        removeRowPlugin: true,
        useFormula: true
    });

    $container.handsontable("loadData", data);

    var handsontable = $container.data('handsontable');

    $("#save").click(function() {

        console.log(handsontable.getData());
        console.log(data);
        var myData = handsontable.getData();
        myData = JSON.stringify(myData);
        $.ajax({
            url: "/Home/tableData",
            type: "POST",

            data: handsontable.getData(),
            dataType: 'json',
            success: function(data) {
                alert(data);
            }
        });
    });

});
</script>
<button id="save">Click Me</button >

【问题讨论】:

    标签: jquery json asp.net-mvc-3


    【解决方案1】:

    没有看到您的 getData 函数,我只能假设您将其作为键值对发送。我相信您需要发布 data: {data: {}} 才能将控制器作为控制器中的数据变量。您发布的 js 对象中的键映射到控制器操作的参数名称。

    【讨论】:

    • 我尝试做两个数据:{“data”:handsontable.getData()},和{data:handontable.getData()},但程序没有调用控制器动作。如果我这样做: Data:myData 它会调用该操作,但没有发送任何数据。
    猜你喜欢
    • 1970-01-01
    • 2021-11-23
    • 2017-10-01
    • 2018-09-25
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 2014-05-16
    • 2014-12-14
    相关资源
    最近更新 更多