我正在尝试将数组从 jQuery 函数传递到我的 Controller 。该数组包含内容和保存该内容的 div 的 id。
当我检查通过 Firebug 中的 AJAX post 发送的对象时,那里有正确的值,但在我的 Controller 上放置断点后,收到的值是一个空列表或数组或我尝试将其设置为的任何类型。我对使用 JSON 将数据传递到 Controller 还很陌生,因此希望在我出错的地方得到一些帮助。
单击“提交”时调用的 jQuery 函数。该数组在我的脚本中全局声明,并在每次新区域填充内容时添加到其中。
function postContent() {
$.ajax({
type: "POST",
datatype: 'json',
url: "/Admin/getContentArray",
data: JSON.stringify(contentArray),
contentType: 'application/json; charset=utf-8',
success: function (result) {
alert(result.Result);
}
});
}
测试接收 Controller
[HttpPost]
public JsonResult getContentArray(List<Content> myPassedArray)
{
var data = myPassedArray;
return this.Json(null);
}
最佳答案
我通过在进行 get 调用之前将传统属性设置为 true 来实现此功能。即:
jQuery.ajaxSettings.traditional = true
$.get('/controller/MyAction', { vals: arrayOfValues }, function (data) {...
我在这里找到了解决方案:Pass array to mvc Action via AJAX
关于jquery - 将数组从 jQuery 传递到 MVC.NET Controller ,在 Controller 上给出 null 结果,但 jQuery 函数上存在值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5525053/