[英]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.