2017-09-18 51 views
0

我使用ajax jQuery发送项目列表到我的控制器。没有得到我的控制器中使用ajax,但只有一个对象的所有列表

我得到的物品清单,但不是所有我只得到一个物品,并在列表中的第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的名单,但是当我调试我的控制,我发现只有一个项目和它总是发送项目。

我不知道如何解决这个问题。请帮助我,我应该是非常可观的。作为

data: CustomerKeysList, 

Image shows the detail of list I got from ajax

回答

2

更改脚本像下面

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

乐于帮忙,欢迎来到Stack Overflow。如果此答案解决了您的问题,请将其标记为已接受 – ashik

相关问题