0

jQuery の getJSON 関数を Play フレームワークで使用しようとしています。そして、クエリ文字列を渡しています。しかし、値を取得していないようで、キーのみを取得しています

これが私のjQuery関数です:-

<script type="text/javascript">
  $(function() {
    $("#button").click(function() {
        $.getJSON(
        '/getJsonResult',
        {'foo':'bar'},
        function(data) {
          $.each(data, function(i, result) {
            if(i != undefined) {

              var result_html = '<ul><li>';
              result_html    += result + '<\/li><\/ul>';

              $('#result_container').append(result_html);
            }
          });
        }
        );  
      });
  });
</script>

アクションメソッドは次のとおりです。

public static Result getJsonResult() {
    Map queryParameters = request().queryString();

    List data = Arrays.asList("result", "This is just a test");

    if (queryParameters != null) {
    System.out.println("QS Key ---> " + queryParameters.containsKey("foo"));
    System.out.println("QS Value ---> " + queryParameters.containsValue("bar"));
    }

    return ok(Json.toJson(data));
}

出力:-

[info] play - Application started (Dev)
QS Key ---> true
QS Value ---> false
4

2 に答える 2

1

これは queryString メソッドが Map 型を持っているためです。とにかく、queryParameters.get("foo") を呼び出すことで "foo" キーの値にアクセスできます。

于 2013-09-22T17:30:33.880 に答える
0

How to get query string parameters in Java play framework? で答えを見つけました。

関連するキーと値のペアを取得するには、Map タイプを使用する必要がありました。

于 2013-09-23T03:34:26.660 に答える