【问题标题】:django HttpResponseRedirect is not redirectingdjango HttpResponseRedirect 没有重定向
【发布时间】: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 提交

标签: jquery django jquery-ui django-forms


【解决方案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 现在按预期工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 2011-08-06
    • 1970-01-01
    相关资源
    最近更新 更多