2017-09-18 7 views
0

ajax jqueryを使用してコントローラのリストを送信しています。ajaxを使用しているコントローラでオブジェクトのリストをすべて取得していませんでしたが、1つだけです

私はアイテムのリストを取得しますが、すべてではありません。アイテムが1つしかなく、リストに2つあります。

javascriptの

$('#AddObject').click(function() { 
    var CustomerKeysList = 
    [ 
     { 
      CustomerId: '5', 
      Name:'test1', 
      DateCreated:new Date(), 

     }, 
     { 
      CustomerId: '3', 
      Name:'test2', 
      DateCreated:new Date(), 

     }, 
     { 
      CustomerId: '43', 
      Name: 'test2', 
      DateCreated: new Date(), 

     }, 
    ] 

    alert(JSON.stringify(CustomerKeysList)); 
    var i = $(".thingRow").length; 
    var url = '/admin/customer/AddObject?index=' + i; 

    $.ajax({ 
     url: url, 
     contentType: 'application/json; charset=utf-8', 
     type: 'POST', 
     data: JSON.stringify(CustomerKeysList), 
     success: function (data) { 
      alert(data) 
      $('#Table').append('<tbody>'+ data).append('<button 
    id="AddObject1" type="button" class="btn btn-primary">Add Object</button>'); 
     }, 
     error: function (a, b, c) { 
      alert(a + " " + b + " " + c); 
     } 
    }); 
}) 

コントローラ

public ActionResult AddObject(int index, List<CustomerKeys> CustomerKeysList) 
{ 
    return PartialView("_EmptyRow", CustomerKeysList); 
} 

私はそのCustomerKeysListのリストを送信するボタンをクリックしますが、私は私のコントローラをデバッグするとき、私は一つだけのアイテムを見つけて、その常にアイテムを送信するとき。

この問題の解決方法はわかりません。私が非常に感謝できるはずです。

Image shows the detail of list I got from ajax

答えて

2
のような

data: CustomerKeysList, 

として

var CustomerKeysList = [ 
    { CustomerId: '5', Name:'test1', DateCreated:new Date() }, 
    { CustomerId: '3', Name:'test2', DateCreated:new Date() }, 
    { CustomerId: '43', Name: 'test2', DateCreated: new Date() } 
]; 
CustomerKeysList = JSON.stringify({ 'CustomerKeysList': CustomerKeysList}); // add this 

と変更データの属性の下に、スクリプトを変更し

だから、この

$('#AddObject').click(function() { 
    var CustomerKeysList = [ 
     { CustomerId: '5', Name:'test1', DateCreated:new Date() }, 
     { CustomerId: '3', Name:'test2', DateCreated:new Date() }, 
     { CustomerId: '43', Name: 'test2', DateCreated: new Date() } 
    ]; 
    CustomerKeysList = JSON.stringify({ 'CustomerKeysList': CustomerKeysList}); // add this 

    var i = $(".thingRow").length; 
    var url = '/admin/customer/AddObject?index=' + i; 

    $.ajax({ 
     url: url, 
     contentType: 'application/json; charset=utf-8', 
     type: 'POST', 
     dataType: 'json', // you may need this 
     data: CustomerKeysList, // change 
     success: function (data) { 
      alert(data) 
      $('#Table').append('<tbody>'+ data).append('<button id="AddObject1" type="button" class="btn btn-primary">Add Object</button>'); 
     }, 
     error: function (a, b, c) { 
      alert(a + " " + b + " " + c); 
     } 
    }); 
}) 

のように見えるかもしれませんし、あなたのコントローラ

public ActionResult AddObject(int index, List<CustomerKeys> CustomerKeysList) 
{ 
    return PartialView("_EmptyRow", CustomerKeysList); 
} 
+0

素晴らしい仕事。その作業は今、私のために多くの時間を節約します。 – Tauqeer

+0

スタックオーバーフローを助けてくれることを嬉しく思います。この回答があなたの問題を解決した場合は、それを承認済みとしてマークしてください – ashik

関連する問題