无法从ajax获取控制器中的数组

wkyowqbh  于 2021-09-13  发布在  Java
关注(0)|答案(2)|浏览(280)

无法从ajax向控制器获取数据数组。

$.ajax({
      type: "POST",
      url: "/Home/List",
      traditional: true,
      contentType: 'application/json',
      data: {
        "Query": JSON.stringify(Query) //change this
        success: function() {}
      });,

和查询数组:

0: {label: "abc:", value: "123", type: "Select"} 1: {label: "xyz",
  value: "Hum", type: "text"}

有人能帮忙吗?

jjhzyzn0

jjhzyzn01#

试试这样的

<script type="text/javascript">

 var  query=[{label: "abc:", value: "123", type: "Select"},{label: "abc:", value: "1232", type: "Select"} ];
  $.ajax({ type: "POST",
   url: "/Home/List", 
   traditional: true, 
   contentType: 'application/json',
   data: JSON.stringify(query),
   success: function (){

   } });

</script>
mbzjlibv

mbzjlibv2#

我想这方面的东西可能对你有用。

function sendarray() {
        var arr = [];
        var json = {
            "label": 'abc',
            "value": 1234,
            "Name": 'Name'
        };
        arr.push(json);
        json = {
            "label": 'abc2',
            "value": 1234,
            "Name": 'Name2'
        };
        arr.push(json);    
        var myarray = JSON.stringify(arr);
        $.ajax({
            url: '/controller/GetArray',
            type: 'POST',            
            data: { array: myarray },
            success: function (data) {
                    //Do something
            },
            error: function () {
                //Do something
            }
        });
    }

然后在控制器中

public JsonResult GetArray(string array)
        {
            var obj = JsonConvert.DeserializeObject<object>(array);
            return Json("");
        }

这将向控制器发送一个包含数组中所有数据的字符串,然后将json格式的字符串转换为对象列表

相关问题