私のアプリケーションには、更新アクションでフォーム全体をリロードする必要がある機能があります。特別なアクションに対してAJAXリクエストを行うことができ、そのアクションで、フォームを生成するが異なるパラメーターに基づく元のアクションを呼び出すことができると思いました。
異なるアクションのHTML出力を使用してJavaScriptリクエストに応答するにはどうすればよいですか?
私はこのようなことを試しました:
if ($request->isXmlHttpRequest()) {
return $this->editPageContentAction($responseObjects[0]->getId());
}
ただし、機能しません(コントローラーは応答を返す必要があります)。
私が達成したいことを説明する最も簡単な方法は次のとおりです。
- 「別のエンティティからコンテンツをコピー」を選択してエンティティを編集し、他のエンティティのリストを表示するフォームがあります
- ユーザーが別のエンティティを選択すると、AJAXを使用してリロードしたいのですが、フォームは現在オンですが、選択したエンティティが入力されています
- 選択したエンティティでエンティティフォームを編集するようにユーザーをリダイレクトしたくありません。既存のエンティティからのデータを新しいエンティティフォームに事前入力したいので、このエンティティを編集するためにすでに存在するアクションを使用できます。
- Javascript関数は、htmlを新しい形式で更新するだけです。