2013-09-05 62 views
1

我將選中的框的值存儲在數組中並通過AJAX發送。在console.log(searchIDs)我得到了正確的o/p選中的複選框,但print searchIDsviews.py只打印最後一個索引值,即如果我選擇一個和兩個,它將只打印兩個。我哪裏錯了?如何獲取在python中通過AJAX發佈的值數組?

這裏是我的代碼:

<script> 
    $(function() { 

    $("#dialog-form").dialog({ 
     autoOpen: false, 
     height: 300, 
     width: 350, 
     modal: true, 
     buttons: { 
     "Add": function() { 

      var searchIDs = []; 
      $("#dialog-form input:checkbox:checked").map(function(){ 
       searchIDs.push($(this).val()); 
      }); 

      $.ajax({ 
      type: "POST", 
      url: "/dashboard/", 
      data : { 'searchIDs' : searchIDs }, 
      success: function(result){ 
       console.log(searchIDs); 
       $("#widgets").html(result); 
       } 
      }); 

      $(this).dialog("close"); 

     }, 

    Cancel: function() { 
      $(this).dialog("close"); 
     } 
     }, 

    }); 

    $("#add_widget").click(function() { 
     $("#dialog-form").dialog("open"); 
     }); 
    }); 
    </script> 

<body> 

<div id="dialog-form" title="Create new user"> 
    <input type="checkbox" value="One">One</input><br> 
    <input type="checkbox" value="Two">Two</input><br> 
    <input type="checkbox" value="Three">Three</input><br> 
    <input type="checkbox" value="Four">Four</input><br> 
</div> 

<div id="widgets" class="ui-widget"></div> 
<button id="add_widget">Add Widget</button> 


</body> 

View.py

if request.is_ajax(): 
     searchIDs = request.POST['searchIDs[]'] 
     print searchIDs 
+0

http://stackoverflow.com/questi ons/11176594 /通過列表的價值觀,以Django的觀點,通過jQuery的,阿賈克斯 - 呼籲 – dm03514

回答

2

Django提供了一個輔助函數getlist幫助您獲得ID列表的PARAM

request.POST.getlist('searchIDs[]')

+1

它的作品!謝謝。 – PythonEnthusiast