【问题标题】:How to pass data from ajax javascript to MVC controller?如何将数据从 ajax javascript 传递到 MVC 控制器?
【发布时间】:2015-12-28 08:23:49
【问题描述】:

在 asp.net MVC 项目中,我有这段 javascript 调用 HomeController 中的方法。

$.ajax({
            url: '@Url.Action("doMultiBook", "Home")',
            data: { "obj": myDataArray },
            type: 'GET',
            dateType: "json",
            cache:false,
            success: function (data) {



            },
            error: function (data) {
                console.log("ERROR " + data)

            }

        });

我传递的 myDataArray 是这样的:

[{"userId":11,"bench":366,"dates":[["2015-9-30","All Day"]]},{"userId":18,"bench":366,"dates":[["2015-9-30","All Day"]]},{"userId":25,"bench":366,"dates":[["2015-9-30","All Day"]]}]

编辑 然后在我的控制器上,我有这个,

    public void doMultiBook(multiBookObject[] obj)
    {
        Console.WriteLine(obj);

    }

这是我的 multiBookObject 类

public class multiBookObject
{
    public int userID { get; set; }
    public int bench { get; set; }
    public string[] dates { get; set; }
}

如何调用控制器方法并向其传递一些数据?

根据建议编辑我的问题

【问题讨论】:

  • 而不是string var,让它成为一个匹配你的JSON定义的对象,所以基本上是一个对象数组,包含userIdbench和一个“日期”数组。您不是在传递一个字符串,而是在传递一个 JSON 对象,因此您的 C# 需要一个与之匹配的对象。
  • 试过了,但还是没有成功,我编辑我的问题
  • 如果您使用 [Ajax ActionLink][1],您可以在 RouteValues 中传递 myDataArray。 [1]:stackoverflow.com/questions/5586327/how-to-use-ajax-actionlink
  • dates 不是字符串数组。你有一个基于 JSON 的字符串数组。

标签: javascript asp.net ajax asp.net-mvc asp.net-mvc-4


【解决方案1】:

将您的数据传递为

数据:{ "var": myDataArray }

        url: '@Url.Action("doMultiBook", "Home")',

        data: { "var": myDataArray },

        type: 'GET',
        dateType: "json",
        cache:false,
        success: function (data) {



        },
        error: function (data) {
            console.log("ERROR getBookedByUser " + data)

        }

【讨论】:

  • 啊好的,我没听懂你说的,我明白了,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-03
  • 2017-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多