2

私はプレーするのが初めてです。私はrenderJSONを使用してJSONデータを生成しています。ビューでこのデータにアクセスするにはどうすればよいですか。render( "view"、jsonobject)を試してみました。jqueryスクリプトでこのオブジェクトにアクセスしようとしているときに、ここでデータを受信して​​いません。

ajax呼び出しで試しました。次のメソッドは私のコントローラーにあります

public static void getJSONWords(){
 .......
 render(jsonObject);
}

public static void wordcloud(){
    render();
}

私の見解「wordcloud.html」はajaxになります

       $.ajax({

    url: "/getJSONWords",
    dataType : 'json',
    success: function (data) {
             .......
            });

しかし、ajax呼び出しのデータを取得していません。Firfoxデバッガーで試してみましたが、ログファイルのajax呼び出しがそれぞれのコントローラーアクションを呼び出していることを確認してください。ご協力いただきありがとうございます

4

2 に答える 2

2

renderJSONJSONをブラウザに直接返し、ビューによって処理されません。

ビュー内のjsonObjectにアクセスする場合は、次のことができます。

render(jsonObject);

これにより、jsonオブジェクトがビューに渡され、として使用できるようになりますjsonObject。したがって、ビューでは、次のようなことを行うことができます。

<script>
   var data = ${jsonObject.raw()};
   $(document).ready(function() {
      // process your JSON once the rest of the document is rendered
   });
</script>

raw()特殊文字がエスケープされないようにするために使用していることに注意してください。

UDPATE:更新に続いて、より多くの情報があります...AJAX呼び出しでルートが正しくないようです。次のようになります...

   $.ajax({

    url: "@{Application.getJSONWords}",
    dataType : 'json',
    success: function (data) {
             .......
            });
于 2012-09-23T05:21:10.547 に答える
0

こことここに記載さ#{jsAction /}れているように、ビューでタグを使用してみましたか。タグは、コントローラーからメソッド定義を透過的に取得するように設計されています。このドキュメントには、その使用法の例がたくさん示されているので、これは問題に対処するのに役立つと思います。

于 2012-09-23T09:40:28.687 に答える