如何使用Ajax Query更新Django查询变量?

时间:2011-11-24 15:51:01

标签: jquery ajax django django-views

我在Django有一个搜索表单。当用户单击提交按钮时,页面将重新加载并在查询中获取新元素。我正在尝试在Ajax查询中执行此操作,但是当我在成功选项中获取元素时,我不知道如何将新数据更改(分配)到变量。

JS

   $.ajax({
        url: 'url', 
        type: "POST",
        data: "name=" + selected,
        success: function(data){
            alert(data);
        },
        error: function (xhr, textStatus, thrownError){
            alert("xhr status: " + xhr.statusText);
        },
    });

视图

 def search(request, template_name="search/search.html"):

    if request.method == 'POST':

       search_terms = request.POST.get('name')

       t_places = Place.objects.filter(category__in=search_terms)
       places =  TranslatedPlace.objects.filter(place__in=t_places)

      return HttpResponse(places)

HTML

 {% for item in places %}
     <li class="search_item">
        <div>{{ item.name }}</div>
        <div>{{ item.owner }}</div>
        <div>{{item.place.category }}</div>
        <div>{{item.locality}}, {{item.county}}</div>
     </li>
 {% endfor %}

当我在Ajax的'data'变量中收到新数据时,如何在Django'placements'变量中更改它?

1 个答案:

答案 0 :(得分:0)

您可以在ajax成功处理程序

中修改以下代码
$("li.search_item").find("div").each(function(i,j){
$(j).html("one"+(i+1));
});

http://jsfiddle.net/3nigma/AueSp/1/