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 回答