我正在尝试检索从html模板中的视图传递的计数器值。它是作为无来的,但在视图打印和 AJAX 成功日志值中,它是正确的。
JS AJAX 函数
$(".pos").click(function(){
counter=counter+1;
$(".add").html('add counter '+counter);
$.ajax(
{ url :'page',
type :'get' ,
data:{
quantity: counter
},
success:function(response){
console.log(response);
}
}
);
我的观点
def page(request):
counter=request.GET.get('quantity')
print(counter) ## this is printing fine
return render(request,'page.html',{'counter':counter})
html模板
<body>
{{counter}}
<button class="btn neg" name="neg-btn">-</button>
<button class="btn add" name="add-btn" >add to box</button>
<button class="btn pos" id="test" name="pos-btn">+</button>
</body>
将此计数器设为None
1条答案
按热度按时间snvhrwxg1#
通常你会有两个视图,一个用于呈现模板,另一个用于 AJAX 请求,这有助于让你的代码更有条理,让函数只做一个任务,就像它的命名中描述的那样。
在视图中发生的一件重要的事情是,您返回的是由呈现API生成的HTML,而不是计数器值。当然,有很多方法可以正确地做到这一点,但这里有一个可能的解决方案:
page.html
views.py