don*_*yor 2 python django ajax django-templates
我陷入了这个问题.我有一个页面,用户可以搜索并转到搜索结果页面.现在我希望该用户能够按某些条件对结果进行排序,我正在使用ajax,因为我不想再次加载页面
我的阿贾克斯:
function sort(){
var sortid = $('#sort').val().toLowerCase();
$.ajax({
type:"GET",
url: "/sort/",
data: {sortid:sortid}
});
}
Run Code Online (Sandbox Code Playgroud)
这是我的看法:
def sort(request):
sortid = request.GET.get('sortid')
ratings = Bewertung.objects.order_by(sortid)
locations = Location.objects.filter(locations_bewertung__in=ratings)
t = loader.get_template('result-page.html')
c = Context({ 'locs': locations })
return HttpResponse(t.render(c))
Run Code Online (Sandbox Code Playgroud)
但是现在,一旦我对结果进行排序,页面上的任何内容都没有变化.为什么带有新查询集的加载模板不会出现?我想,如果没有ajax的done功能,The Page将被替换.
有人可以解释一下为什么会这样吗?
非常感谢
在浏览器的请求检查器中验证您正在接收您希望从ajax调用获得的数据之后,您应该告诉jQuery ajax当您从服务器获取新html时如何处理它.
function sort(){
var sortid = $('#sort').val().toLowerCase();
$.ajax({
type:"GET",
url: "/sort/",
data: {sortid: sortid},
success: function(newData){
$('#selector-that-you-care-about').html(newData);
}
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5048 次 |
| 最近记录: |