繁体   English   中英

使用Ajax将数组传递给mvc5操作

[英]Passing Array to mvc5 action using Ajax

我试图传递一个JavaScript数组,其中的值来自multiselect框。 但是,当我击中动作时,我从ajax get请求中得到了一个空值。 我试图设置一个断点,它返回为空。 这是我的动作签名

 public JsonResult GetMessages(List<string> id, string searchText)

这是我的ajax电话:

$.get("Dashboard/GetMessages", $.param({ "id": JSON.stringify(selectedID), "searchText": InputSearch }, true)
        , function (result) {
        for (var item = 0; item < result.length; item++) {
            var newMessageEntry = "<tr><td>" + result[item] + "</td></tr>"
        }
    })

要在ajax POST传递数组数据,请使用以下代码。

控制器动作-

 [HttpPost]
 public JsonResult GetMessages(List<string> id, string searchText)
 {
      return Json(true);
 }

而且您的JQuery代码应该是-

$.ajax({
    url:"/Home/GetMessages",
    type:"POST",
    data:JSON.stringify({ id: selectedID, searchText: InputSearch }),
    contentType:"application/json; charset=utf-8",
    success: function(result){
        console.log(result);
    }
});

运行该应用程序时,您应该获得如下所示的数据-

在此处输入图片说明

要发出GET请求,请使用以下代码。

控制器动作-

public JsonResult GetMessages(List<string> id, string searchText)
{
     return Json(true);
}

并且JQuery代码应该是-

$.ajax({
    url:"/Home/GetMessages",
    type:"GET",
    data:{ id: selectedID, searchText: InputSearch },
    contentType: "application/json; charset=utf-8",
    // Make sure we have to set Traditional set to true
    traditional: true,
    success: function(result){
        console.log(result);
    }
});

输出将是-

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM