我正在尝试通过jquery ajax调用渲染新模板'quesHome.html'。但页面未重定向到quesHome页面。我也没有收到任何错误。我是Django的初学者,如果我错了,请纠正我。
以下是我的观点:
def getSearchQuesions(req):
print("getSearchQuesions")
topic = Topic.objects.all()
form = CreateQuestion()
ques_id = req.GET['ques_id']
question = Question.objects.filter(pk=ques_id)
return render(req,'quesHome.html',{'topic':topic ,'question':question,'form':form})
以下是我的js代码:
function getFilteredQuestions(ques_id) {
$.ajax({
type: 'GET',
url: '/getSearchQuesions/',
data: { "ques_id": ques_id },
success: function () {
console.log("success");
}
});
}
以下是我的urls.py:
url(r'^getSearchQuesions/$', for_views.getSearchQuesions, name='getSearchQuesions'),
以下是我的quesHome.html:
{%extends 'master_page.html'%}
{% block quesHome %}
<div class="container" id="cont">
<div class="row topicDiv">
<input type="hidden" value="{%csrf_token%}" id="hid_csrf" />
{% for t in topic %}
<h4 id="{{t.pk}}" class="topCls"><span class="badge badge-Info">{{t.name}}</span></h4>
{% endfor %}
</div>
<br />
<div class="" id="">
{% for q in question %}
<div id="feed">
<div id="">
<h5><span class="">{{q.name}}</span></h5>
</div>
<div class="">
<h6><span class="">{{q.answer}}</span></h6>
</div>
</div>
<br />
{% endfor %}
</div>
</div>
{% endblock %}
答案 0 :(得分:3)
您正在向ajax查询发送一个返回信息,然后该信息将尝试对其执行操作。
不要使用ajax调用,请尝试类似:
window.location = '/getSearchQuesions/'+ques_id
答案 1 :(得分:1)
您正在做的是通过ajax发出请求,并且您的视图正在返回模板。您期望重定向到具有问题ID的页面。你可以简单地不进行这个ajax调用,如果有一个你打算绑定这个ajax的链接,如果它是一个锚标记,就让它正常运行。因为那样你将被重定向,而不需要ajax调用。