【问题标题】:how to pass an array of strings from jQuery to controller如何将字符串数组从 jQuery 传递到控制器
【发布时间】:2013-11-18 14:27:32
【问题描述】:

如何将字符串数组传递给 asp.net mvc4 中的控制器?

这是我的代码

jQuery:

function FnSaveAnalyses(){
    var checked = [];
    for (var i in checkedIds) {
        if (checkedIds[i]) {
            checked.push(i);
        }
    }
    alert(checked); // it shows all the records without problem

    var url = urlBiologieDemande + "Save";
    $.post(
                url,
                data = { values: checked},
                traditional= true,
                success = function (data) {
                    DataSaved();
                });
}

控制器

public ActionResult save(string[] values)
        {
            //Traitement
        }

调试时,我得到空值。

【问题讨论】:

  • 尝试仅在 data = 选中(没有 values 属性)上更改您的数据
  • 同样的问题总是 null :(
  • 您能检查一下已发送到服务器的确切请求正文吗?您可以使用 Fiddler 或 Firefox 并为此安装了 Firebug。
  • 发布请求未定义
  • 嗯...让我们进行下一个调用:$.post(url, { 'values[]': checked }, function (data) { DataSaved(); });

标签: c# jquery asp.net-mvc asp.net-mvc-4


【解决方案1】:

将其发布为 JSON 数组。

var checked = [];
for (var i in checkedIds) {
    if (checkedIds[i]) {
        checked.push(i);
    }
}
var url = urlBiologieDemande + "Save";
$.ajax({
    type: 'Post',
    dataType: 'json',
    url: url ,
    data: JSON.stringify(values:checked),
    contentType: 'application/json; charset=utf-8',
    async: false,
    success: function (data) {

    }
});

然后在Controller中获取JSON 并解析它.. 见this

【讨论】:

    猜你喜欢
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 2015-01-11
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多