Play框架查询字符串不适用于getJSON

时间:2013-09-22 15:05:27

标签: jquery ajax json playframework

我正在尝试在Play框架中使用jQuery的getJSON函数。我正在传递一个查询字符串。但看起来它没有获得价值,只有关键

这是我的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

2 个答案:

答案 0 :(得分:1)

这是因为查询String方法具有Map类型。无论如何,您可以通过调用查询Parameters.get(“food”)来访问“foo”键的值。

答案 1 :(得分:0)

我在How to get query string parameters in java play framework?

中找到了答案

我必须使用Map类型来获取相关的键值对。