我正在尝试在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
答案 0 :(得分:1)
这是因为查询String方法具有Map类型。无论如何,您可以通过调用查询Parameters.get(“food”)来访问“foo”键的值。
答案 1 :(得分:0)
我在How to get query string parameters in java play framework?
中找到了答案我必须使用Map类型来获取相关的键值对。