arrays - 如何将数组发布到 mvc 控制器
问题描述
我想将 java 脚本对象发布到 mvc 控制器
$(document).ready(function () {
var table = $('#my_table_1').DataTable({
"paging": true,
"ordering": true,
"info": true,
"search": true,
"pageLength": 100
});
var d = '';
var data3 = table.on('search.dt', function () {
//number of filtered rows
// console.log(table.rows({ filter: 'applied' }).nodes().length);
//filtered rows data as arrays
d = table.rows({ filter: 'applied' }).data()
});
console.log(table.rows({ filter: 'applied' }).data());
$('#excel2').click(function (e) {
//var data3 = table.on('search.dt', function () {
// console.log(table.rows({ filter: 'applied' }).data());
// console.log(data3);
//});
console.log(d);
$.ajax({
url: '/Administrator/TestDownload',
type: 'POST',
data: {data:d},
cache: false
}).done(function (response) {
alert(d);
});
});
});
//控制器代码:
public JsonResult TestDownload(String[] data)
{
return Json(data,JsonRequestBehavior.AllowGet);
}
我在控制器中将 null 作为数据参数
预期:想要将数据对象从视图获取到控制器作为控制器中的参数。
实际:控制器中的数据参数为空
解决方案
您必须检查您的 d 变量正确的数组格式。
我在我身边测试了var d = ["test",2,3]
控制器,它得到了正确的数据。
$('#excel2').click(function (e) {
//var data3 = table.on('search.dt', function () {
// console.log(table.rows({ filter: 'applied' }).data());
// console.log(data3);
//});
d = ["test",2,3]
console.log(d);
$.ajax({
url: '/Administrator/TestDownload',
type: 'POST',
data: {data:d},
cache: false
}).done(function (response) {
alert(d);
});
});
});
推荐阅读
- ios - Gitlab runner 在“完成请求崩溃报告。继续测试”之后等待了很多
- javascript - Javascript TypeError 代码出错,变量未定义
- reactjs - UseEffect 中的 SetState 导致无限循环
- android - 无法并排安装 NDK
- html - :hover 和 :active on touch 在移动设备上?
- mysql - MySQL Multiple CASE WHEN 在 WHERE 子句中不起作用
- php - 为 foreach() 提供的参数无效 - 尝试在 SearchModel 上进行查询时 - Yii2
- flutter - PageStorageKey 的 String 参数真的很重要吗?
- sql - 将表转换为带有长文本列的 JSON 数组
- sql - SQL - 查询至少出现两次的名称