Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 请求冲突symfony操作_Php_Jquery_Ajax_Forms_Symfony - Fatal编程技术网

Php 请求冲突symfony操作

Php 请求冲突symfony操作,php,jquery,ajax,forms,symfony,Php,Jquery,Ajax,Forms,Symfony,我有一个Ajax调用,它调用控制器中的一个操作 Ajax调用如下所示 $(document).on('click', '.editQuestionButton', function() { var question_id = $(this).data('question'); console.log(question_id); $.ajax({ type: "POST", url: "/dashboard/form/AjaxEditQue

我有一个Ajax调用,它调用控制器中的一个操作

Ajax调用如下所示

$(document).on('click', '.editQuestionButton', function() {
    var question_id = $(this).data('question');
    console.log(question_id);

    $.ajax({
        type: "POST",
        url: "/dashboard/form/AjaxEditQuestionForm/" + question_id + "",
        success: function(data) {
            $('#form-modal').html(data);
        }
    });

});

$(document).on('click', '.modal .fn-submit', function() {
    $(this).closest('.modal').find('form').submit();
});
这就是行动

/**
     * @Route("/AjaxEditQuestionForm/{question}")
     * @Template
     * @ParamConverter("question", class="AppBundle:Question")
     */
    public function ajaxEditQuestionFormAction(Request $request, $question)
    {
        $edit_question_form = $this->createForm(new AddQuestionType(), $question);

        $edit_question_form->handleRequest($request);

        if ($edit_question_form->isValid()) {

            $em->flush();

            return $this->redirectToRoute('app_form_create');
        }
        else{
          die();
        }


        return array(
          'question' => $question,
          'editAjaxQuestionForm' => $edit_question_form->createView(),
        );
    }
问题是,该操作从不返回表单,而是直接检查表单是否有效。 我想这与
$request
有关,但我不确定如何更改

操作应该首先从Ajax调用中获取数据,返回表单,如果表单已提交,则检查表单是否有效并刷新问题实体


你知道我应该怎么做吗?

else语句中的
die()
不是这种行为的原因吗?好吧,我删除了它,它现在返回表单。这就解决了。但是现在它完全忽略了if语句可能您的表单无效,您可以使用
$edit\u question\u form->getErrors()
对其进行调试。顺便说一句,在AJAX调用中,您没有提交任何数据,这可能就是表单总是无效的原因。现在我得到“控制器必须返回一个响应(错误)。”