我試圖做一個ajax分頁用下面的代碼:創建AJAX分頁
// AJAX pagination
$(".pages .prev").live('click', function(event) {
event.preventDefault()
var current_page = parseInt(getParameterByName('page'))-1;
$.get('/ajax/financial_page/', {'page': current_page}, function(response) {
$(".content table").replaceWith(response)
});
})
在我看來,功能:
def financial_page(request):
"""
Returns a single financials page, without extra HTML (used in AJAX calls).
"""
page = int(request.GET.get('page', 1))
if request.user.is_superuser:
fs = FinancialStatements.objects.order_by('-date', 'statement_id')
else:
up = request.user.get_profile()
providers = up.provider.all()
fs = FinancialStatements.objects.filter(provider__in=providers).order_by('-date', 'statement_id')
fs_objects, current_page_object, page_range = paginator(request, objects=fs, page=page, number_per_page=30)
data = { 'fs':fs_objects,
'page_range': page_range,
'current_page': current_page_object,
}
page = render_to_string('financial_section.html', data, RequestContext(request))
return HttpResponse(simplejson.dumps([page]))
不過,也有我運行到兩個問題。第一個是response
不是真的HTML,並且有一堆n\t\t\n\t\t\n\t\n\t\n\t\n\t\t\n\t\
等。另外,我無法跟蹤當前頁面/根據需要更改網址。我將如何在這裏構建一個功能性Ajax分頁?
更新:我想通過做response = $.parseJSON(response);
想出第一個。但是,我將如何跟蹤我所處的頁面?
- @ David542不會只是遞減/增加一個變量'onclick'跟蹤你的頁面? –
是你的問題回答了嗎? –