我有一些页面:
title = "page"
url = "/page"
layout = "default"
==
function onTest()
{
$this['result'] = 'Test string';
}
==
<!-- AJAX enabled form -->
<form data-request="onTest" data-request-update="mypartial: '#myDiv'"></form>
<!-- Result container -->
<div id="myDiv"></div>
提交表单后,我只能在分部"mypartial"中获得"result"变量,其中代码为:Here is {{ result }}
。这段代码插入到#myDiv中。
如何在不创建分部的情况下获得"result"变量?为什么我要为每个小AJAX查询创建.htm文件(部分(?
我想您可以很容易地从服务器端用idmyDiv
更新您的div。
您只需要推送具有正确id
#myDiv
的标记,它就会自动更新该Html Element with given ID
。[我们不需要要求部分或需要部分]
title = "page"
url = "/page"
layout = "default"
==
<?php
function onTest()
{
$result = 'Test string';
return ['#myDiv' => 'New Result: ' . $result];
}
?>
==
<!-- AJAX enabled form -->
<form data-request="onTest">
<button type="submit">Submit Fire Ajax</button>
</form>
<!-- Result container -->
<div id="myDiv">old result</div>
在
successful Ajax
之后,myDiv
的请求标记将是
<div id="myDiv">New Result: Test string</div>
好的是,作为十月Ajax框架的一部分,您不需要编写javascript来更新
myDiv
,它将自动搜索#myDiv
并更新其标记。
当您为十月的Ajax api返回数组时,Cms
return ['#myDiv' => 'Hello'];
在客户端,它将自动搜索id为myDiv
的元素,如果找到它,它将在成功的Ajax请求时使用给定的标记更新它,例如它的Hello
如果有任何疑问,请发表评论。