2

Codeigniter 中的 HMVC 新手。

动态表单允许在用户单击链接时创建新的“段”。

当前段 html & php 在 module/view/segment_view.php 中。该视图还需要动态 php 变量。

如何使用 jQuery“加载视图”?我知道我不能直接从 jQuery 加载视图,但是对于如何为 AJAX 调用构建控制器感到迷茫。似乎这可能不是 Codeigniter 的强项?

编辑:
“段”在表单内。表单始终有 1 个段。jQuery 可以添加更多的段。每个段都需要 php 数组来进行表单输入和验证。

这是 form_view 文件的精简版本

for ($i=1; $i<=$number_of_segments; $i++) {

    $data['location'] = array(
        'name'  =>  "segment[$i][location]",
        'value' =>  set_value("segment[$i][location]"),
        'maxlength' =>  '255',
        'size'  =>  '30'
    );  
 ?>
    <div class="area">
        <div class="row"><h2>Segment <?php echo $i;?></h2></div>

        <?php 
        $this->load->view('module/segment_view', $data);
        ?>

    </div> <!--/div class="area"-->
<?php
}    //end for
?>

好的,所以这并没有真正将应用程序逻辑与表示分离,是吗?哈哈。那么构建此代码的最佳方法是什么,以便代码是 HMVC 并且可以从 php 控制器/视图以及 jQuery 访问?

4

1 回答 1

3

不能直接通过 URL 调用视图文件,需要调用加载视图的控制器方法。

如果你想做一些“仅 ajax”的东西,你可以使用这个函数:

if ($this->input->is_ajax_request()) // Do ajax stuff

示例将加载视图片段或 json。您不必在控制器中创建“仅 ajax”方法,如果它是 ajax 请求,您可以在现有控制器方法中使用此函数来执行不同的操作。

不确定这是否能为您解决任何问题,请提供一些代码和您正在尝试做的更多上下文,我们可以为您提供一些更清晰的建议。

于 2011-06-23T02:34:28.943 回答