所以我有一个名为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;
}