簡體   English   中英

JsonResponse不返回模板中的數據

[英]JsonResponse doesn't return data in template

我有Django 1.7,我做了一個視圖,我想在其中接收jquery 2.1.1發送的信息

我可以在視圖中接收信息並進行打印,但是當我使用JsonResponse將JSON發送到模板中的函數以及使用console.log查看JSON時,什么也沒有發生。

views.py

def filtro(request):
    if request.is_ajax():
        carrera = Event.objects.filter(category__name = request.GET['id'])
        reponse = JsonResponse({'name' : carrera.name, 'age' : carrera.summary})
        return HttpResponse(response.content)
    else:
        return ('/')    

urls.py

url(r'^filtro/$', 'apps.eventos.views.filtro', name="filtro"),

eventos.html

$('.list li a').on('click', Filtrar);
  function Filtrar(){
    var id = $(this).text()
    $.ajax({
      data : {'id' : id},
      url : '/filtro/',
      type : 'get',  
      success: function(data){
        console.log(data);
      }
    });

  };

當有人點擊任何a標簽,我想說明的JSON從我的模型的信息。

防止默認點擊事件

$('.list li a').on('click', Filtrar);
  function Filtrar(e){
    e.preventDefault();
    var id = $(this).text()
    $.ajax({
      data : {'id' : id},
      url : '/filtro/',
      type : 'get',  
      success: function(data){
        console.log(data);
      }
    });

  };

返回一個json響應

return JsonResponse({'name' : carrera.name, 'age' : carrera.summary})

我不知道python,但是對您來說,jQuery ajax調用我認為data : {'id' : '\\"'+ id + '\\"'},而不是data : {'id' : id},會解決您的問題。

因為您要發送字符串,所以需要將其添加在引號內。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM