2012-01-24 41 views
0

我想送陣列到我的操作方法:與發送陣列的操作方法問題

var items = { 'myIdList[]': [] }; 

     $(':checkbox').change(function() {    
      $(":checked").each(function() { 
       items['myIdList[]'].push($(this).val()); 
      }); 
      $('#locationsCheckList').submit(); 
     }); 

     $('#locationsCheckList').submit(function() { 
      $.ajax({ 
       url: this.action, 
       type: this.method, 
       traditional: true, 
       data: { "myIdList": items }... 

操作方法:

[HttpPost] 
     public void GetLocations(int[] myIdList)... 

項變量有數據,但是當我將它傳遞這樣我得到空,但如果我改變

data: { "myIdList": items } 

data: { "myIdList": [1,2,3,4,5] } 

它的工作原理。 當我調試在瀏覽器中的項目變量我有值:

0: "1" 
1: "2" 
2: "3" 

我不能傳遞數組,我不知道爲什麼,如果它的工作原理硬編碼?

+0

你用fiddler2?它對於這些情況非常有用,你會看到這兩種情況之間的區別。更不用說它讓ajax編程變得更容易... http://fiddler2.com/fiddler2/version.asp –

回答

1

如果你使用一個簡單的數組,類似於你的榜樣的作品:

var items = []; 
// your jQuery loop 
items.push($(this).val()); 
// and so on 
data: { "myIdList": items }... 
+0

這樣做的技巧。謝謝。 – 1110

0

你的AJAX調用需要包括:

dataType: "json", 
+0

它仍然是空的:( – 1110

+0

使用Firefox + Firebug,打開NET選項卡。您可以看到詳細信息你的請求(看看你的數據是否存在)以及響應 –

+0

現在我看到了有線的東西,在螢火蟲中,我看到'項目'有值(項目0的值爲5等),但我試圖調用'項目。長度',我得到undefined ??? – 1110