2013-03-25 193 views
2

在这里我有问题:JSON数据列表,阵列

OneCar - >时,我只取一个参数,我可以看到价值,一切都OK

但是当我尝试采取ListCar1的参数列表和ListCar2我只能看到null

我相信这是一个小错误,但我不知道如何解决它。

[HttpPost] 
     public JsonResult DodajTematSave(string OneCar, string[] ListCar1, List<string> ListCar2) 
     { 
     } 

这里的Json行动

<script type="text/javascript"> 

    function Save() { 

     var mycars = new Array() 
     $("[name^='CarString']").each(function() { 
      mycars.push(this.value); 
     }); 

     $.ajax({ 
      url: '@Url.Action("DodajTematSave", "StronaGlowna")', 
      dataType: "json", 
      data: { 
       OneCar: mycars[0] 
       ListCar1: mycars 
       ListCar2: mycars 
      }, 
      type: "POST", 
      async: false, 
      error: function() { 
      }, 
      success: function (data) { 
       if (data.Success) { 
        alert('success'); 
       } 

      } 
     }); 
    } 

</script> 

正确答案:

<script type="text/javascript"> 

    function Save() { 

     var mycars = new Array() 
     $("[name^='CarString']").each(function() { 
      mycars.push(this.value); 
     }); 

     $.ajax({ 
      url: '@Url.Action("DodajTematSave", "StronaGlowna")', 
      dataType: "json", 
      data: { 
       OneCar: mycars[0] 
       ListCar1: mycars 
       ListCar2: mycars 
      }, 
      type: "POST", 
      traditional: true, 
      async: false, 
      error: function() { 
      }, 
      success: function (data) { 
       if (data.Success) { 
        alert('success'); 
       } 

      } 
     }); 
    } 

</script> 

回答

2

您需要的traditional: true参数添加到$.ajax通话。详细信息可在此jQuery forum thread或此answer中找到。

+0

很好的答案,只有这个小东西,并没关系:)非常感谢:) – 2013-03-25 12:14:27