直到 Symfony 4,我曾經通過 Ajax 加載一個表單,回傳如下內容:
$result = $this->renderView('my/template.html.twig',[
'form' => $form->createView()
]);
return new Response($result);
從 Symfony 5 開始,這不再起作用了。我嘗試了使用$this->renderForm(),$this->render()和 的所有可能組合'form'=>$form,但沒有成功。有什么訣竅?
uj5u.com熱心網友回復:
嘗試
return new JsonResponse(['view' => $this->render('path/to_view.html.twig')->getContent()]);
它將向您的 Ajax 呼叫回傳一個 json 回應。您可以訪問包含頁面渲染 [ $this->render()->getContent]的 html 內容的“查看”鍵(根據需要命名)。這是我在 Symfony 5.4 專案中使用的方式。
uj5u.com熱心網友回復:
嗨,您可以像這樣渲染表單
public function __invoke()
{
return $this->render('my/template.html.twig', [
'form' => $form->createView()
]);
}
筆記:
render() -> 將回傳回應物件
renderView() -> 將回傳字串(渲染的樹枝模板)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/406213.html
標籤:
