对象中的数组没有填充jQuery getJSON

时间:2015-10-29 08:15:45

标签: c# jquery json asp.net-mvc

尝试使用jQuery getJSON函数时,我遇到了一个非常奇怪的问题。

我尝试通过制作一个像这样的对象来发送我的参数:

var args = {
    from: "",
    to: "",
    customerId: "52"
    articles: ['12312', '21521']
};

然后调用getJSON函数:

$.getJSON('/Statistics/TimeGraph', args, function (response) {
    //Fill graph.
});

这是问题的开始。我收到了控制器上的请求,但未填充articles(其他参数是)。

控制器操作:

public JsonResult TimeGraph(DateTime? from, DateTime? to, int? customerId, string[] articles)
{
    return Json("", JsonRequestBehavior.AllowGet);
}

是否无法在像这样的对象中发送数组?或者我有什么遗失的东西?

1 个答案:

答案 0 :(得分:2)

您需要将传统参数设置为true,否则它将无法正常工作。

$.getJSON('/Statistics/TimeGraph', $.param(args,true), function (response) {
    //Fill graph.
});

或简单的ajax调用

 $.ajax({
        type: "GET",
        url: "/Statistics/TimeGraph",
        data: args,
        success: function(response){
             //Fill graph.
        },
        dataType: "json",
        traditional: true
    });