为什么使用AJAX加载CodeIgniter视图会破坏CSS和JS功能



所以我有一个名为index.php的主页,其中包含整个HTML页面和CSS和JS资产。

<html>
    <head>
         <link rel="stylesheet" type="text/css" href="<?php echo base_url().'assets/css/main.css';?>">
         <!-- this contains my other css -->
    <head>
    <body>
          <div id="wrapper">
               <div class="main-section">
                     <?= $home ?>
                     <!-- this is the section i want to replace using ajax --> 
                     <!-- $home is a codeigniter view of the section for home -->
               </div>
          </div>

    <script>
        var BASE = "<?php echo site_url(); ?>";
    </script>
    <script src="<?php echo base_url().'assets/js/jquery.js';?>" type="text/javascript"></script>
    <script src="<?php echo base_url().'assets/js/jquery.touchSwipe.min.js';?>" type="text/javascript"></script>
    <!-- other js files -->
    </body>
</html>

因此,当它像这样加载时,一切正常。但是,当我使用Ajax函数更改这样的主节内容时,

JQ("#btnshop").on('click', function(e) {
    e.preventDefault();
    JQ.ajax({
        url: BASE + "bhs/main/shop",
        method: 'GET',
        dataType: 'html',
        data: {},
        success: function(response) {
            $(".bhs-main-section").empty().html(response);
        }
    });
});

这是控制器的代码,我正在获取我的内容

public function shop()
{
    $data['tenants'] = $this->tenant->getTenants();
    $data['tenants_categories'] = $this->tenant_category->find(1);
    $this->load->view('bhs/shop', $data);
}

有什么想法为什么某些CSS和JS破裂了?预先感谢

ajax永远不会加载视图

您需要在控制器中回声而不是加载视图

public function shop()
{
$data['tenants'] = $this->tenant->getTenants();
$data['tenants_categories'] = $this->tenant_category->find(1);
$echo $this->load->view('bhs/shop', $data);
}

当您的查看内容GE当时您在$

中给出第三个参数

$ this-> load-> view('view name',$ data,true(;

真实的平均后续内容。

public function shop()
    {
        $data['tenants'] = $this->tenant->getTenants();
        $data['tenants_categories'] = $this->tenant_category->find(1);
       $content= $this->load->view('bhs/shop', $data,TRUE);
    echo $content;
    }

最新更新