AJAX更新div而不创建分部



我有一些页面:

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

如果有任何疑问,请发表评论。

最新更新