如何在codeigniter中使用ajax加载另一个视图

时间:2016-10-04 11:39:15

标签: php jquery ajax codeigniter

这是我的第一个观点

<form id="bussearch">
<input class="form-control"  id="value1" name="start" type="text" />
<input class="form-control" id="value2" name="value2" type="text" />
<input class="form-control" id="value2" name="value3" type="text" />
<button class="btn" type="submit">Search for Bus</button>
</form>

这是脚本

$("#bussearch").submit(function(e) {
   $.ajax({
       type: "POST",
       url: "http://siteurl/controller/test",
       data: $("#bussearch").serialize(), 
       success: function(data)
       {
                     $("#div_result").html(data);
           //alert(data); 
       }
     });

e.preventDefault(); // avoid to execute the actual submit of the form.
});

这是我的控制器

function test()
{

      $response = $this->load->view('welcome_message',TRUE);
    echo $response;

    }

这是查看welcome_message

 <div id="div_result"></div>

我需要在ajax sucess函数之后加载一个视图,但是查看welcome_message没有加载

1 个答案:

答案 0 :(得分:1)

我做了类似的事情,将数据加载到模态中。

在我的控制器中,我只需要查看视图:

public function update_user_modal()
{
    $this->load->view('modals/update_user_modal');
}

ajax是这样的:

$.ajax({
    url: "<?php echo base_url('admin/get_user_details'); ?>",
    type: "POST",
    data: { id: id }
  }).done(function(msg) {
   console.log(msg);  // this will have the content of the view
  }.fail(function(jqXHR, textStatus) {
    alert("Request failed: " + textStatus + " - Please try again.")
  })

我认为这是你在控制器中调用函数test()时提供的ajax url中的拼写错误,但是你在控制器中提供了函数bus_test()。

希望这有帮助。