我已经阅读了与该主题相关的2篇帖子。无法使它们适用于我的情况:
经过很多努力,我已经解决了一些问题,但是我没有从jquery代码中正确指示视图函数的URL。我以为可以使用在urls.py中创建路径时使用的名称来做到这一点,但是它不起作用。
然后,您应该如何将url写入views.py文件中的函数?
我的jquery文件位于/ static / js内,它像这样:
$(document).ready(function(){
$('input[type="radio"]').click(function(){
var valor = $(this).val();
$.post('../home', {valor:valor}, function(data){
});
});
});
并且视图无法捕捉到
def home(request):
topic = request.POST.get('valor')
print(topic)
答案 0 :(得分:1)
在您的jquery代码中使用JSON.stringify
:
$('input[type="radio"]').click(function(){
var valor = $(this).val();
$.post('../home', JSON.stringify({valor:valor}), function(data){
});
});
});
,您认为使用此代码:
def home(request):
topic = request.data.get('valor')
print(topic)
答案 1 :(得分:-1)
您正在使用ajax,因此django视图不应返回render。检查如何在Convert JavaScript string in dot notation into an object reference
从渲染到字符串获取的html,使用return JsonReponse()将其作为json作为数据返回。永远记住要提供状态。
一旦在ajax帖子中接收回数据,则将其附加div。这将显示为普通视图模板,并使用页面中现有的CSS进行格式化。