2012-10-11 29 views
1

我試圖發佈數據,控制器的一些陣列.. 我的看法是這樣的:

<script> 
    $.post("/",{ 
     person: [ 
      { id: 1, name: "a" }, 
      { id: 2, name: "b" } 
     ] 
    }); 
</script> 

,並在我的控制器:

[HttpPost] 
public ActionResult Index(List<Person> person) 
{ 
    //something 
} 

當我檢查發送的HTTP數據,我看到的數據是:

person[0][id] 
person[0][name] 
person[1][id] 
person[1][name] 

但正確的默認模式粘結劑:

person[0].id 
person[0].name 
person[1].id 
person[1].name 

我該如何解決它?

+0

嘗試使用$ .post()中的JSON.stringify({person:[....]}) – prashanth

+0

@prashanth做這個人爲null。 – MuriloKunze

回答

1

你不能用$.post做到這一點,你需要使用$.ajax,因爲你需要設置contentType'application/json',使MOBEL粘合劑快樂,你不能做什麼$.post

$.ajax({ 
     url: '/', 
     type: 'POST', 
     data: JSON.stringify({ 
      person: [ 
       { id: 1, name: "a" }, 
       { id: 2, name: "b" } 
      ] 
     }), 
     contentType: 'application/json' 
    }); 

而且你還需要JSON.stringify數據使其與模型綁定器一起工作。