Php 请求冲突symfony操作
我有一个Ajax调用,它调用控制器中的一个操作 Ajax调用如下所示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
$(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调用中,您没有提交任何数据,这可能就是表单总是无效的原因。现在我得到“控制器必须返回一个响应(错误)。”