0

私はsymfonyベースのウェブサイトを書いています。いくつかのポップアップ ウィンドウがあります (登録、ログイン、パスワードの変更)。http://example.com/module/actionを要求するだけで、jQuery AJAX 要求 ($.get) でそれらをロードします。popup は html を適切にロードしますが、正常に要求されたhttp://example.com/module/actionに存在するスクリプトはありません。

このsymfony機能を無効にする方法を知っている人はいますか? またはエレガントな回避策を知っていますか?

4

2 に答える 2

0

ルートに制限を追加します。

route_name:
  url: route_path.:sf_format
  # sf_format: json sets default format to json
  param: { module: module_name, action: action_name, sf_format: json }
  # add restrictions
  requirements:
    sf_format: json

Pedro @pedro-casado によって提供されたソリューションは非常に優れています (以前のプロジェクトのいくつかで使用しました) が、しばらくして、正しい方法はルートに制限を追加することであることに気付きました。そうすれば、Symfony は XmlHttpRequest を除くすべてのリクエストを単純に拒否します。

于 2012-05-22T20:35:50.753 に答える
-1

が ajax によって呼び出されている場合にのみページをロードしますか?

if ($request->isXmlHttpRequest())
{
 ....
}
于 2012-05-21T22:34:46.117 に答える