CodeIgniter / AJAX:AJAX不加载局部视图

时间:2016-03-14 05:02:15

标签: javascript php jquery ajax codeigniter

我的ajax函数仅在我尝试加载特定视图(createClass.php)时有效,但它不适用于其他视图(classAction.php / etc。)

脚本:

//--------------this works---------------
$(function(){
      $(".classloader").click(function(){
        //alert("clicked");

        $("#functions").load("createClass");
       //$("#functions").load("classActions"); this doesn't work for some reason
      });
    });
   //-----------this doesn't----------- 
    $(function(){
      $(".classAction").click(function(){
        //alert("clicked");
       $("#functions").load("classActions");
      //-- $("#functions").load("createClass"); but this works for some reason 
      });
    });

视图:

createClass(局部视图):

<div class="jumbotron col-md-12">
      createClass <!-- h1 -->
</div>

classAction(局部视图):

<div class="jumbotron col-md-12">
      classAction <!-- h1 -->         
</div>

主页(主视图):

<button type="button" class="btn btn-success btn-block classAction">Class Action</button>

<button type="button" class="btn btn-default btn-lg btn-block classloader" >Create Class</button>

<div class="col-md-offset-1 col-md-8">

        <div class="jumbotron col-md-12" id="functions">
           Partial views should be loaded here

        </div>
    </div>

4 个答案:

答案 0 :(得分:0)

你试过base_url

吗?
  $("#functions").load("<?php echo base_url('createClass');?>");

答案 1 :(得分:0)

尝试使用CI加载视图功能:

$("#functions").load("<?php $this->load->view('classAction', TRUE); ?>");

&#34; true&#34;作为第二个参数,以便返回视图标记。如果不起作用,请尝试添加文件类型(classAction.html)。

答案 2 :(得分:0)

我建议检查你的萤火虫的控制台(如果你正在使用它)。您还可以在Chrome的开发者工具的控制台上查看它。尝试启动代码并检查控制台。这就是我用具有正确语法但没有做任何事情的脚本修复问题的方法

答案 3 :(得分:0)

我终于解决了你们,老实说,我有点傻了,事实证明,load函数正在调用控制器中的另一个函数,我认为它是直接加载视图,所以我刚创建控制器中的“classActions”函数,并从那里加载视图,它工作正常。谢谢你的帮助!