0

Symfony のコンテキストで Ajax を試すのはこれが初めてで、コードをどのように編成する必要があるかについて少し混乱している可能性があります。

私のajax呼び出しが次のようになっているとしましょう:

$.getJSON('module/getMeSomeJSONThroughAjax', function(data) {console.log(data); } )

私のmodule/actionsフォルダーには、actions.class.phpファイルにメソッドがあります:

public function getMeSomeJSONThroughAjax()
{
   // do something
   return $jsonEncodedString;
}

私は であることに注意してください。したがって、他のほとんどのアクションのように実行not creating a template for the above methodプレフィックスがありません。単純に、テンプレートを作成することが、AJAX HTTP 要求の JSON データのみをフェッチするための過剰なケースだとは思いません。

ただし、Ajax 呼び出しをトリガーするイベントがブラウザーで発生すると、コンソールに次のログが記録されます。

> Failed to load resource: the server responded with a status of 404
> (Not Found)
> http://localhost:8080/customerview_dev.php/flashcard/getMeSomeJSONThroughAjax

これはルーティングの問題であると認識しています。問題を簡単に解決する方法として、上記のテンプレートを作成し、アクションの名前を に変更することが考えられますexecuteGetMeSomeJsonThroughAjax()。しかし、私が言ったように、これはやり過ぎであり、これを行うにはもっと審美的で適切な方法が必要です.

Ajax 呼び出しを行うために、シンフォニアンは何をしますか?

4

2 に答える 2

2

テンプレートがない場合でも、実行プレフィックスが必要です。必要に応じて、テンプレートを [なし] に設定するか、次のように設定できます。

return $this->renderText($jsonEncodeString);

も動作するはずです。

于 2012-12-10T23:48:17.110 に答える