【问题标题】:Unable to get array in controller from ajax无法从 ajax 获取控制器中的数组
【发布时间】:2021-09-30 06:51:56
【问题描述】:

没有从 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"}

谁能帮忙?

【问题讨论】:

    标签: javascript c# jquery ajax model-view-controller


    【解决方案1】:

    试试这样的

    <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>
    

    【讨论】:

    • 但是如何在控制器中获取这些数据请帮助我
    【解决方案2】:

    我认为这可能对你有用。

     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格式的字符串转换为对象列表

    【讨论】:

    • 如何在控制器中获取这个数组?
    • 控制器将接收一个 json 字符串,然后您将反序列化该字符串,或者代替 json.stringify 您发送您想要接收的对象。
    猜你喜欢
    • 2018-06-05
    • 1970-01-01
    • 2021-04-01
    • 2020-09-24
    • 2018-10-11
    • 1970-01-01
    • 2020-09-24
    • 2016-10-30
    • 1970-01-01
    相关资源
    最近更新 更多