2017-10-11 65 views
0

我試圖捕獲ajax請求中的過濾器列表,但雖然我可以捕獲單個過濾器,但當我嘗試捕獲列表時,我只是出於某種原因獲得空列表。 下面是我的視圖和ajax(jQuery)函數的相關部分。當我嘗試使用$.ajax({ .... 'filters': fixed })發送一個單獨的過濾器時,這個過濾器失敗並顯示一個列表。 (我可以處理,如果我不使用getlist,但.get然後json.loads(),但我認爲必須有數據通過字符串傳遞給django '["fixed"]'(我可以處理,如果我不使用getlist但.get然後json.loads這裏一個簡單的方法django ajax,無法從ajax請求中捕獲列表

def quotes_results_filter_view(request): 
    results_filters = request.GET.getlist('filters') or [] 
    quotes_results = request.session['quotes_results'] 
    for results_filter in results_filters: 
     ....... 

的Ajax功能:

$(document).ready(function() { 
     $('#id_filter').change(function (e) { 
     var fixed = $(this).val() 
     console.log(fixed) 
    $.ajax({ 
     url: '/users/filters/', 
     data: { 
     'filters': [fixed] 
     }, 
     dataType: 'json', 
     success: function (data) { 
     console.log(data) 
     } 
    }) 

回答

1

當您通過jQuery的發送列表,它改變了關鍵字 所以在Django你可能得到這樣的: request.GET.getlist('filters[]')

+0

你說得對,jQuery做到了,在這裏與Django無關。很奇怪。謝謝。 – Yunti