2016-02-25 6 views
2

У меня минимальный опыт в ajax, поэтому я просто стараюсь изо всех сил.Как использовать Ajax в Opencart?

Я с помощью Opencart версии 1.5.5.1

И я пытаюсь построить ajax результата данные

(select title,description,date from menu where menu_id ='1') or (select *) Eg.

В моем случае я с помощью combobox для запуска ajax, так что я с помощью Onchange в combobox затем передать переменную Controller.

Ajax:

<script type="text/javascript" src="view/javascript/jquery/jquery-1.7.1.min.js"></script> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#id_menu').change(function() { 
      if ($(this).val != 0) { 
       var menu_id = $(this).val();   // store to variable for passing 
       $.ajax({ 
       url: 'index.php?route=menu/all_menu/function_menu', 
       type: 'POST', 
       dataType: 'html', 
       data: { 
       menu_id: menu_id 
      }, 
      success: function(response) { 
       $("#all-menu").html(response); 
      } 
      }); 
     } 
     }).change(); 
    }); 
</script> 

Вид:

<?php echo $header; ?> 
<div id="content"> 
    <div class="breadcrumb"> 
     <?php foreach ($breadcrumbs as $breadcrumb){?> 
      <?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> 
     <?php } ?> 
    </div> 

    <?php if ($error_warning) {?> 
     <div class="warning"><?php echo $error_warning; ?></div> 
    <?php } ?> 

    <?php if ($success) {?> 
     <div class="success"><?php echo $success; ?></div> 
    <?php } ?> 

    <div class="box"> 
     <div class="heading"> 
      <h1><img src="view/image/product.png" alt="" /> <?php echo $heading_title; ?></h1> 
     </div> 

     <div class="content"> 
      <form action="<?php echo $action; ?>" method="POST" enctype="multipart/form-data" id="form"> 
       <table class="form"> 

        <tr> 
         <td><?php echo $entry_menu; ?></td> 
         <td> 
          <select name="id_menu" id="id_menu"> 
           <option value="" selected='selected'> Menu </option> 
           <option value="1">1</option> 
           <option value="2">2</option> 
           <option value="3">3</option> 
           <option value="4">4</option> 
           <option value="5">5</option> 
           <option value="6">6</option> 
           <option value="7">7</option>  
          </select> 
          <?php if ($error['menu'])?> 
           <span class="error"><?php echo $error['menu']; ?></span> 
         </td>   
        </tr> 

       </table> 
       <div id="all-menu" align="center"> 
       </div> 
      </form> 
     </div> 
    </div> 
</div> 

Контроллер:

(class ControllerMenuAllMenu extends Controller {) 
public function function_menu(){ 
    $this->language->load('menu/all_menu'); 
    $this->load->model('menu/all_menu'); 
    echo "A";exit;   //Should be result A 
} 

Когда я изменить выпадающий это отображение моей домашней страницы (бэкэнд) снова в div all-menu

Как Это http://s1064.photobucket.com/user/blackarch01/media/Untitled_zpsbkmv1vlk.jpg.html?sort=3&o=0

ответ

0

Если вы звоните страницу администратора вам необходимо включить ваш маркер сеанса в Ajax URL:

url: 'index.php?route=menu/all_menu/function_menu&token=<?php echo $this->session->data["token"]; ?>', 
+0

я стараюсь следовать вашей инструкции, но он по-прежнему не работает (когда я изменить combo box ничего не дает). – Blackarch

Смежные вопросы