我的Codeigniter应用有问题。我想通过ajax加载一些数据。在我的页面中,我编写了onclick函数来运行jQuery函数。在我的函数中,我只是将响应发布到我的controller.Here是我的jQuery函数
function callplayer(filepath,videocode,createdby){
$.ajax({
type : "POST",
url : base_url+"home/loadVideo",
data : {id:videocode,video:filepath,user_id:createdby},
success : function(html){
var container = $('#company'); //jquery selector (get element by id)
if(html){
container.html(html);
}
}
});
}
这是我的loadVideo功能(我的控制器)
function loadVideo(){
$user_id = $_POST['user_id'];
# Get Company
$user_id = $_POST['user_id'];
$company = $this->load->model('usermanager_model', 'usermanager');
$company_details[datas] = $this->usermanager->getCompany($user_id);
# Pass data to view
$this->load->view('home_view', $company_details);
}
不要担心我的模型工作正常。 这是我的观点
<div class="video-part">
<div class="video-details">
<div id="test">
<div id="mediaplayer">JW Player goes here</div>
<?php echo $url = vimeourl2videourl('http://vimeo.com/moogaloop.swf?clip_id=2539741') ?>
<script type="text/javascript" src="<?php echo base_url()?>player1/jwplayer.js"></script>
<div id="mediaplayer">JW Player goes here</div>
<script type="text/javascript" src="jwplayer.js"></script>
<script type="text/javascript">
jwplayer("mediaplayer").setup({
flashplayer: "<?php echo base_url() ?>player1/player.swf",
height:"350",
width:"500",
'playlist': [{
'file': 'www.youtube.com/watch?v=dHBJ8jk3944',
'image': '/thumbs/video1.jpg',
'title': 'The first video'
},],
repeat: 'list'
});
</script>
</div>
<div class="video-text">
<div id="company">
<?php
/*
echo "<pre>";
print_r($datas);
echo "</pre>";
*/
foreach ($datas as $row) :
echo $row['companyName'];
endforeach;
?>
</div>
<span class="txt-small">2013-06-09 | +011 888 88 | Canada </span>
<span class="txt-small">Lorem Ipsum is simply dummy text of the printing and typesetting industry. </span>
<div class="social-icons row-fix">
<a href="#"><img src="<?php echo base_url() ?>images/icon-down.png" alt=""></a>
<a href="#"><img src="<?php echo base_url() ?>images/icon-here.png" alt=""></a>
<a href="#"><img src="<?php echo base_url() ?>images/icon-wifi.png" alt=""></a>
<a href="#"><img src="<?php echo base_url() ?>images/icon-save.png" alt=""></a>
<a href="#"><img src="<?php echo base_url() ?>images/icon-facebook.png" alt=""></a>
<a href="#"><img src="<?php echo base_url() ?>images/icon-twitter.png" alt=""></a>
<a href="#"><img src="<?php echo base_url() ?>images/icon-google.png" alt=""></a>
<div class="sign-up row-fix">
<a href="<?php echo base_url().'registration';?>">Signup</a> <span>|</span> <a href="<?php echo base_url().'registration';?>">Login</a>
<div> <a href="#" class="request">Request for Product Info</a></div>
</div>
</div>
</div>
</div>
</div>
我的问题是每当我点击图像(点击按钮功能)它将使用重复的html div标签加载我的内容。但如果我在我的控制器中打印该数据,它的工作正常。它仅正确显示获取的数据。如果我将该数据传递给查看和打印,那么它将显示带有一些重复div标签的获取数据。我的朋友告诉我使用jQuery追加功能。但我不熟悉jQuery。请帮忙找出合适的解决方案..?
答案 0 :(得分:2)
您的home_view
视图文件应该只包含该公司详细信息所需的最小HTML标记,以便将输出加载到#cointainer
div中。
如果您的视图文件包含整页的HTML代码,那么整页HTML将被加载到#container
div中,并且您将获得重复的div
您的视图文件应该只有以下内容:
<div id="company">
<?php
foreach ($datas as $row) :
echo $row['companyName'];
endforeach;
?>
</div>