【发布时间】:2018-03-23 16:06:54
【问题描述】:
我正在尝试在 ajax 请求中捕获过滤器列表,但是虽然我可以捕获单个过滤器,但当我尝试捕获列表时,由于某种原因,我只是得到一个空列表。
以下是我的观点和 ajax (jQuery) 函数的相关部分。当我尝试使用 $.ajax({ .... 'filters': fixed }) 发送单个过滤器时,此方法有效,但列表失败。
更新:尝试数据:{'filters': JSON.stringify([fixed])},确实将数据作为字符串传递给 django '["fixed"]'(如果我不使用 getlist 而是使用 .get 然后使用 json.loads() 我可以处理,但我认为这里一定有更简单的方法。
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)
}
})
【问题讨论】: