【发布时间】:2015-08-07 14:27:33
【问题描述】:
我正在使用 Play 2.2.6,需要从控制器获取 List<String> 或 String[] 到我的 jQuery Ajax 调用。
我的控制器看起来像:
public static Result list(){
List<String> cname = new ArrayList<String>();
String[] arr= new String[]{"abc","abc2"};
return ok(index.render(arr));
}
索引方法的代码:
public static Result index(){
String[] arr= new String[]{"abc","abc2"};
return ok(index.render(arr));
}
我的 jQuery 函数看起来像:
<script>
$(function() {
ajaxCall();
});
var ajaxCall = function() {
var ajaxCallBack = {
success : onSuccess,
error : onError
}
jsRoutes.controllers.Application.list().ajax(ajaxCallBack);
};
var onSuccess = function(data) {
console.log(data)
}
var onError = function(error) {
alert(error);
}
</script>
这个脚本在 index.scala.html 文件中,路由是:
GET / controllers.Application.index()
POST / controllers.Application.list()
GET /javascriptRoutes controllers.JavascriptRoute.javascriptRoutes
Ajax 响应非常适合字符串类型,例如如果我说
return ok("This is string");
然后我可以在 Ajax 响应中看到它,但无法弄清楚为什么数组或列表会抛出以下错误:
内部服务器错误,用于 (GET) [/] ->
找不到符号 [symbol: method ok(java.lang.String[])] [location: class controllers.Application]
顺便提一下,我在路由中将此方法定义为 POST。
有什么建议吗?
【问题讨论】:
-
与 index() 方法相关联的 GET 调用会引发错误,而您发布的代码与 list() 方法(与 POST 调用相关联)相关。对吗?
-
那么,您能否发布 index() 方法的代码,这是引发错误的方法?
-
编辑了问题!
标签: java jquery ajax playframework-2.0