Ajax – 工作示例
让我们添加一个新的ajax页面,在tutorial模块中ajax,并异步获取书籍信息。为此,我们应该遵循以下步骤。
步骤 1:在模块配置中添加 Json 策略
更新 tutorial 模块配置文件中的视图管理器块 – myapp/module/Tutorial/config/module.config.php。然后,JsonStrategy将与 JsonModel 配合使用来编码和发送 json 数据。
步骤 2:在 TutorialController.php 中添加 ajaxAction 方法
在TutorialController.php 中添加 ajaxAction 方法使用以下代码 −
在这里,ajaxAction 将检查传入的请求是否为 AJAX。如果传入请求是 AJAX,则将创建 JsonModel。否则,将创建一个普通的ViewModel。
在这两种情况下,书籍信息都将从数据库中获取并填充到模型中。如果模型是 JsonModel,则将调用 JsonStrategy,它将数据编码为 json 并返回作为响应。
$query->get('showJson') == 1 用于调试目的。只需在网址中添加showJson=1,页面将显示 json 数据。
步骤 3:添加 ajax.phtml
现在,为Ajax操作方法添加视图脚本 ajax.phtml。此页面将包含一个带有标签的链接 - Load book information。
单击该链接将执行 AJAX 请求,该请求将以 Json 数据的形式获取书籍信息,并将书籍信息显示为格式化表。AJAX 处理是使用
JQuery完成的。
完整的代码清单如下 −
步骤 4:运行应用程序
最后,运行应用程序 − http://localhost:8080/tutorial/ajax,然后单击“Load book information”链接。
结果将如下所示 −
Ajax页面 −
包含图书信息的Ajax页面
包含调试信息的 Ajax 页面
