我有一个jquery数据表,该表已加载excel工作表数据,我需要传递给控制器。我用
var table = $('#example').DataTable({
dom: "Bfrtip",
// "processing": true,
//"serverSide": true,
"ajax": {
"url": 'Url to controller',
"contentType": "application/json",
"dataSrc": "",
"type": "POST",
"data": function(d){
d.form = $("#frm").serializeArray();
}
}
}
$("frm").on("submit", function () {
var data = table.$("input, select,textarea").serialize();
$.ajax({
type: "POST",
url: " /Controller/Create",
data: data,
success: function (response) {
$.redirect(response.url, { 'data': JSON.stringify(response.data) }, "POST");
}
});
return false;
});
在单击提交按钮时传递数据。
我的控制器操作我尝试了多种方法来检索数据,但所有方法都为空。
[HttpPost]
public ActionResult Create( FormCollection frm, [System.Web.Http.FromBody]object value,string formdata, string data)
{
}
提琴手说没有responebody和json结果为空。
有人可以指出我错了吗?
提前谢谢
答案 0 :(得分:0)
使用以下更新您的AJAX代码。
$.ajax({
type: "POST",
url: " /Controller/Create",
data:"{'data':data}",
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function (response) {
$.redirect(response.url, { 'data': JSON.stringify(response.data) }, "POST");
}
});
控制器的名称和参数以及AJAX调用应匹配。仅使用数据参数。
[HttpPost]
public ActionResult Create(string data)
{
}