2013-10-11 85 views
1

我的Codeigniter應用程序出現問題。我想通過ajax加載一些數據。在我的頁面中,我編寫了onclick函數來運行jQuery函數。而在我的功能我剛剛張貼到我controller.Here這種反應是我的jQuery函數Codeigniter獲得ajax響應並從控制器傳遞該數據以查看

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

你的'home_view'文件中的代碼是什麼?它只能迴應公司的細節,沒有別的。 – WebNovice

+0

這行代碼如何不會爲您發佈通知:'$ company_details [datas]'...您在那裏丟失了引號 –

+0

PHP將發出通知並假設'數據',因此它可以正常工作,並且OP可能不會根據他的錯誤報告查看通知。如果它也是一個常量,它會很快變得醜陋,所以應該總是使用引號。 – Patrick

回答

2

您的home_view視圖文件應該只有該公司詳細信息所需的最小HTML標記,以便輸出將在#cointainer div內加載。

如果你的視圖文件中的HTML代碼爲一個完整的頁面,即整頁HTML將是#container DIV中加載,你會得到重複的div

你的視圖文件應該就在下面:

<div id="company"> 
<?php 
    foreach ($datas as $row) : 
     echo $row['companyName']; 
    endforeach; 
?> 
</div> 
+0

是的!!感謝您的幫助..最後我明白了..查看頁面應該只包含公司的div標籤.. – Elavarasan

相關問題