有没有办法将一组对象发送给MVC动作?
查看:
$(".iconDocumentText").click(function (e) {
e.preventDefault();
var $inputs = $("form.form :input:not('.submit')");
var values = {}; // get search form values
$inputs.each(function () {
if ($(this).val()) {
values[this.name] = $(this).val();
}
});
console.log(JSON.stringify(values));
$.ajax({
url: "@Url.Action("Export","Log")",
data: JSON.stringify(values),
contentType: 'application/json',
type: 'GET',
success: function (data) {
.........
}
});
});
我没试过就试过这个:
public ActionResult Export(Dictionary<string, string> values)
{
....
这是发送给控制器操作的内容:
{"f_device":"4","f_package":"AGI-VS-GAME-M52-1.5.3.2.67"}
答案 0 :(得分:4)
您还必须指出它是数据类型json
并直接传递它们:
脚本:
$.ajax({
url: "@Url.Action("Export","Log")",
data: values,
contentType: 'application/json',
type: 'GET',
dataType: 'json'
});
控制器:
public ActionResult Test(int f_device, string f_package)
{
编辑:
但是如果要检索字典,可以将数据封装在对象中:
脚本:
$.ajax({
url: "@Url.Action("Export","Log")",
data: { values : values },
contentType: 'application/json',
type: 'GET',
dataType: 'json'
});
控制器:
public ActionResult Test(Dictionary<string, string> values)
{