尝试使用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);
}
是否无法在像这样的对象中发送数组?或者我有什么遗失的东西?
答案 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
});