在CodeIgniter中,我有一个网页正在显示客户端。某个视图clients.php
在表中列出客户端。它显示如下客户端:
<?php
foreach ($clients as $client) {
?>
<tr>
<td><?= $client->companyname ?></td>
<td><?= $client->city ?></td>
<td><?= $client->country ?></td>
<td><?= $client->vat ?></td>
<td><? <button class="edit-button" data-entityid="<?= $client->id ?>">edit</button></td>
</tr>
<?php
}
?>
正如您在上面看到的,我为每个客户端都有一个编辑按钮。单击按钮会进行AJAX调用,如下所示:
$('.edit-button').click(function(){
$.ajax(
{
type: 'POST',
url: 'modalloader/editclient/' + this.dataset.entityid,
beforeSend: function(){
$('.modal-content').html('loading...');
},
success: function(result){
$('.modal-content').html(result);
},
error: function (data) {
$('.modal-content').html('failed');
}
});
});
现在,当我调用方法modalloader/editclient/clientid
时,我正在通过我的模型从数据库中再次加载特定客户端的数据,但是实际上我已经在页面上获得了这些数据(因为视图clients.php
)。因此,我想知道是否可以从网页上已有的对象$clients
中获取它。
现在,如果我对视图进行了var_dump($clients);
的访问,并通过对modalloader/editclient/clientid
的AJAX调用动态加载了该视图,则会显示null
对象。
答案 0 :(得分:1)
您可以从控制器(如json)返回$ clients变量,然后将其设置为js变量。 像这样:
<script>
var clients = <?php echo $clients ?>;
<script>
之后,您可以在脚本中使用此变量