Play Framework 中 AJAX 调用的部分渲染
Partial rendering on AJAX call in Play Framework
我在这里看到了一些类似的问题,但没有一个真正帮助解决了我的问题。
我在页面上有一个表格和一个按钮,需要在单击时重新渲染表格(使用不同的分页参数、排序等)。
我尝试了几种方法,并且成功地将值传递给带有嵌入式 js 路由器的控制器,但由于这些值通过 ajax 调用传递到后端,因此我无法重新渲染表。
我的嵌入式路由器看起来像:
@helper.javascriptRouter("jsRoutes")(
routes.javascript.UserController.getUsers
)
我将从页面调用它,如下所示:$.ajax(jsRoutes.controllers.UserController.getUsers(3, true, "login"));
现在,最后但并非最不重要的一点是,我想使用 getUsers() 调用的结果重新渲染表。
只需调用:
public Result getUsers(int size, boolean isAsc, String sortBy) {
......
Logger.info("Returning " + size + " users");
return Results.ok(usersPage.render(userDtos));
}
对我不起作用。
有几种方法。
最简单的方法是有一个以HTML格式呈现表格的游戏控制器,然后使用$('#mytable').load(...)将其拉到您的页面上。
更灵活的是有一个播放控制器,它以 JSON 格式返回数据,然后在浏览器中将其转换为 HTML。这可以手动完成,使用客户端模板引擎(例如 http://handlebarsjs.com/)或使用完整的JavaScript框架(如AngularJS或Ember.js)。
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何从Java/scala调用js美化程序
- 如何调用这个匿名 JavaScript 函数
- 如何从模块链中调用函数.导出到节点中
- 我需要从php调用javascript或jquery
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- node.js:setInterval()正在跳过调用
- 如何在单击复选框后调用控制器方法
- 在Play Framework 2中从Java调用javascript函数
- Play Framework 中 AJAX 调用的部分渲染
- 在 Wicket Framework 上的 Button onSubmit() 之前调用 YUI3 脚本
- 在 Zend Framework 中的 AJAX 调用后在操作之间传递变量
- 防止以编程方式调用 django-rest-framework API
- 无法从 AngularJS Ionic Framework 中的另一个控制器调用方法
- 正确使用调用c#函数的引导开关(T4MVC/Entity Framework)
- 来自 Angularjs $http的 Slim Framework v3 API 调用