`

Play框架中的Ajax

阅读更多
h1. Ajax in the Play framework



Play框架允许你简单的使用Ajax请求,默认使用JQuery,

这一节描述了如何有效地在框架里使用jQuery。

The Play framework allows you to easily perform Ajax requests, and is shipped with "jQuery":http://jquery.com by default.

This section describes how to effectively use "jQuery":http://jquery.com within the framework.



Plya也提供了jsAction标签透明的从控制器得到一个定义的方法。

The Play framework also comes with the handy **jsAction** tag to transparently get a method definition from the controller.



使用jQuery和jsAction标签

h2. <a>Using jQuery with the jsAction tag</a>



jsAction标签返回一个Javascript函数,它基于服务端的action构建了一个URL,没有参数,它不完成Ajax请求,这些需要手动的使用返回的URL完成。

The #{jsAction /} tag returns a JavaScript function which constructs a URL based on a server action and free variables. It does not perform an AJAX request; these have to be done by hand using the returned URL.



让我们看个例子。

Let's see an example:



bc. GET     /hotels/list        Hotels.list



现在你可以在客户端导入这个route

Now you can import this route client side:



bc. <script type="text/javascript">

   var listAction = #{jsAction @list(':search', ':size', ':page') /}

   $('#result').load(listAction({search: 'x', size: '10', page: '1'}), function() {

       $('#content').css('visibility', 'visible')

   })

</script>



在这个例子中我们从默认的应用控制器中请求list方法,我们传了3个参数,search,size和page,

请求的结果被保存在了listAction变量中,现在我们使用jQuery的load方法发出则个请求(一个HTTP GET请求)。

In this example we are requesting the list method from the default Application controller. We are also passing three parameters: search, size and page. The request we perform is then saved into the listAction variable. Now using jQuery and the **load** function we are performing a request (an HTTP GET request in fact).



实际上,发送的是下面的这个请求。

In fact, the following request is sent:



bc. GET /hotels/list?search=x&size=10&page=1



请求返回的是HTML数据。

In that case the request returns HTML data.



但是也可以返回JSON数据或XML数据,然后让JQuery解释这些数据,在你的控制器中,使用恰单的render方法即可。

However, it is also possible to return JSON or XML and to have jQuery interpret the data. In your controller, use the appropriate render method (renderJSON, renderXML or an XML template).



请参考jQuery的文档去获得更多的信息。

Please refer to the "jQuery":http://docs.jquery.com/Main_Page documentation for more info.



需要注意的是我们还可以使用POST方法,那么相应的jQuery方法应该被改为:

Also please note that we could perform a POST; the jQuery method should then be changed to:



bc. $.post(listAction, function(data) {

  $('.result').html(data);

});
分享到:
评论

相关推荐

    play 框架使用ajax的例子

    play框架 ajax

    play framework 框架手册 word 版

    11.在play框架里使用Ajax - 94 - 通过jsAction标签使用jQuery - 95 - 12. Internationalization国际化支持 - 96 - 仅使用 UTF-8! - 96 - 国际化你的信息 - 96 - 通过应用程序定义支持的语言 - 96 - 依照你的区域定义...

    ajaxFileUpload:使用 Ajax 在 Play 框架中上传文件

    在 Play 中上传 Ajax 在 Play 中使用 Ajax 上传文件(使用 jQuery 和 jQuery 表单插件)

    play框架手册

    11.在play框架里使用Ajax - 94 - 通过jsAction标签使用jQuery - 95 - 12. Internationalization国际化支持 - 96 - 仅使用 UTF-8! - 96 - 国际化你的信息 - 96 - 通过应用程序定义支持的语言 - 96 - 依照你的区域定义...

    BootstrapModalDialog:使用 Bootstrap 模态对话框和 AJAX 的 Play 1.2.7 示例

    引导模态对话框使用 Bootstrap 模态对话框和 AJAX 的 Play 1.2.7 示例。 如何使用 AJAX 在 Play 框架中实现 Bootstrap 模态对话框的简单示例。

    玩框架工具「Play Framework Tools」-crx插件

    这个扩展可以帮助开发人员利用Play框架更有效地构建应用 特征 *更改时自动刷新 *打开编辑器到错误 笔记 要在Play Framework应用程序中启用自动刷新,您需要安装SBT插件。更多信息:...

    play-soy-view:Play Framework 2.3.x 的 Google Closure 模板库

    #play-soy-view 对 Java Play 框架的 Google Closure 库支持的实现目前,该插件假定它将通过依赖注入进行连接,不支持将插件包含在播放中的插件文件中,这会导致自动连接。 单个组件必须通过选择的依赖注入框架连接...

    PHP+iframe模拟Ajax上传文件功能示例

    在xmlhttprequest level 1中,Ajax是不能够上传文件的,因为js不能操作本地文件,但是市场上有一些Ajax异步上传文件的插件,是怎么完成的呢?答案:可以使用iframe模拟Ajax上传文件。接下来博主将使用iframe来模拟...

    PlayWithDWZ:PlayFrameWork 1.27 与 国产UI 框架的 DWZ 的整合

    PlayFrameWork 为后端DWZ 为前端数据交互全用 Ajax###运行方式安装Paly Framework,在代码根目录执行命令:play run运行成功后访问: 即可.###简单界面截图用户列表查询过滤数据校验(前端使用 DWZ 提供的校验,后端...

    techgraspfy:游戏框架规模

    总结总结 Scala 的技术掌握工具 必需的 Sbt 0.13.5 (不能使用旧版本) Scala 2.11 Slick(用于 Scala DB 访问 API 库) Playframework 2.3.6 (不能使用旧...由于它在构建路径中,我将对其进行编辑以便于使用。 其他

    spry 1.5

    ajax框架,drcs3中带有,本软件包时实例包

    roomframework:WebSocket 应用程序框架

    像ajax这样的请求处理 注册消息处理程序 缓存(room.cache.js) WebStorage 包装器 记录器(room.logger.js) 网络套接字记录器 要使用 WebSocket 相关功能,您应该为其使用服务器端实现。 Playframework 有一个实现...

    Play Framework Tools-crx插件

    功能*在更改时自动刷新*打开编辑器以错误笔记要在播放框架应用程序中启用自动刷新,您需要安装SBT插件。更多信息:https://github.com/jamesward/play-auto-refresh版本0.0.11&0.0.12 - SRC文件链接应在播放2.2和...

    de.htwg.se.monopoly-web:使用 Play Framework 2.2 for WebTech 构建的 Web 客户端扩展到 HTWG Monopoly

    HTWG垄断 这是在此处找到的现有 HTWG-Monopoly 的网络版本: 当前版本部署在 为什么 该项目是康斯坦茨 HTWG 讲座Webtechnologies的一部分。 如何 这个项目是用各种技术构建的,目的是掩盖一些如何提供 Web ... 在狱中

    JAVA中国象棋对战平台博弈系统

    2.2 AJAX概述 8 2.3 DIV+CSS 10 2.4开发工具 11 第三章 模块需求分析与总体设计 13 3.1 需求分析说明 13 3.2 整体系统用例图 15 3.3整体系统业务流图 15 3.4 系统总体设计框架 16 第四章 系统设计和系统实现 17 4.1 ...

    bitPlane:微信打飞机游戏

    游戏使用phaser框架搭建,排行榜使用ajax,localStorage实现,使用jsonp处理跨域;飞机控制方式 移动端:重力感应,触控 pc端:按键上下左右,鼠标拖动;普通模式在不触碰敌机的情况下可一直游戏,随时间增加飞机...

    国际网址导航系统-PHP

    简洁中带有高尚 (不扯皮)全新模板 首页 预留几处广告 保护幻灯等都是广告代码后台可换首页还是原来的精选置顶位置 留给购买vip的用户设置的首页的分类采用ajax请求方式增加网站的访问速度排行榜显示今天数据点击 和...

Global site tag (gtag.js) - Google Analytics