在MVC 4中,如何使用AJAX将View中的JavaScript数组传递到Controller中的函数?
这种方法似乎行不通:
$.ajax(
{
type: "POST",
url: "../Home/SaveTable",
data: { function_param: countryArray }
});
问题在于,countryArray 是 JavaScript View 中的全局数组,并且我已经检查过它被传递之前是否有元素。但是,当 saveTable 函数接收该数组时,该函数说它收到了一个空的 string[] 数组。
我只知道从 Controller 向 View 传递数组时,您需要使用 return Json(data, JsonRequestBehavior.AllowGet);
对复杂数据类型进行序列化,然后通过将其设置为 "var" 变量来进行反序列化。
因此,我可能也需要这样做,但是怎么做呢?
编辑1:
这是 SaveTable 函数的简短版本:
public string SaveTable(string[] function_param)
{
if (function_param != null && function_param > 0)
{
//some code
return "Success";
}
//The following code will run if it's not successful.
return "There must be at least one country in the Region.";
//Yeah it's always returning this b/c function_param is null;
}
function_param > 0
should befunction_param.Length > 0
- Ryan Dooley