django HttpResponseRedirect 没有重定向
Posted
技术标签:
【中文标题】django HttpResponseRedirect 没有重定向【英文标题】:django HttpResponseRedirect is not redirecting 【发布时间】:2016-09-27 05:46:53 【问题描述】:我正在使用 jquery 对话框打开一个 django 表单,并在提交表单后将其重定向到不同的视图。重定向的 url 不是在浏览器中重定向,而是在浏览器控制台中打印。
我的退货声明是return HttpResponseRedirect('q/submitted_question_edit?q_id='+str(q.id))
它被重定向到的视图是
def submitted_question_edit(request):
q_id=request.GET['q_id']
q_record = Questions.objects.get(id=q_id)
form = QuestionForm(instance=q_record)
return render(request, 'question/submitted_question_edit.html', 'submitted_question_form': form)
表单提交后我的jquery成功函数是
function successQuestionPost(data)
$('#question_form').dialog('close');
console.log(data);
// reset the question form
$("#id_title").val('');
CKEDITOR.instances.id_question.setData('');
$("#id_tags").val('');
question_form 是表单的名称,我使用 jquery ajax 提交它。我认为由于 jquery 对话框,它没有正确重定向。请帮忙。
【问题讨论】:
你有什么错误或什么吗? 重定向时没有错误 您是否正在使用 ajax 请求访问表单? 是的,使用 Ajax 请求提交 @AlesMaticic 感谢您指出正确的方向,问题在于 ajax 提交 【参考方案1】:我使用 ajax 提交表单,这是导致问题的原因,我使用下面的 jquery 提交带有 ajax 的表单
$("#question_form").on("submit", function(event)
event.preventDefault();
// moving textarea content to hidden content
// $("#question_hidden").attr('value', $("#id_question").val());
console.log( $( this ).serialize() );
$.ajax(
type: 'GET',
url:"http://localhost:8000/q/",
// data:$('.q_id_c'),
data:$(this).serialize(),
success: successQuestionPost,
dataType: 'html'
);
);
我删除了它,httpredirectresponse 现在按预期工作。
【讨论】:
以上是关于django HttpResponseRedirect 没有重定向的主要内容,如果未能解决你的问题,请参考以下文章