Tôi đang cố chuyển danh sách các giá trị số (id) từ trang này sang trang khác với cuộc gọi jQuery ajax. Tôi không thể tìm ra cách để vượt qua và đọc tất cả các giá trị trong danh sách. Tôi có thể đăng và đọc thành công 1 giá trị chứ không phải nhiều giá trị. Dưới đây là những gì tôi có cho đến nay:Chuyển danh sách các giá trị sang chế độ xem django qua cuộc gọi jQuery ajax
jQuery:
var postUrl = "http://localhost:8000/ingredients/";
$('li').click(function(){
values = [1, 2];
$.ajax({
url: postUrl,
type: 'POST',
data: {'terid': values},
traditional: true,
dataType: 'html',
success: function(result){
$('#ingredients').append(result);
}
});
});
/thành phần/xem:
def ingredients(request):
if request.is_ajax():
ourid = request.POST.get('terid', False)
ingredients = Ingredience.objects.filter(food__id__in=ourid)
t = get_template('ingredients.html')
html = t.render(Context({'ingredients': ingredients,}))
return HttpResponse(html)
else:
html = '<p>This is not ajax</p>'
return HttpResponse(html)
Với Firebug Tôi có thể thấy rằng POST chứa cả id nhưng có lẽ trong định dạng sai (terid = 1 & terid = 2). Vì vậy, thành phần của tôi xem chỉ chọn terid = 2. Tôi đang làm gì sai?
EDIT: Để làm rõ, tôi cần giá trị biến biến ourid [1, 2] vào bộ lọc trong chế độ xem thành phần.
Chỉ cần một FYI - một số trình duyệt cũ hơn không có thư viện JSON tích hợp sẵn.Bạn * có thể * nên sử dụng '$ .serialize' hơn là' JSON.stringify' –