2016-09-16 2 views
0

У меня есть эта HTML-форма, которая отправляет входные значения с помощью jquery ajax в php. Процесс прошел хорошо, но только если я вижу его, когда я нажимаю правой кнопкой мыши> проверять элемент> сеть> заголовок. К сожалению, настоящая страница остается неподвижной.HTML-форма отправки значений с jQuery Ajax в PHP

есть все равно, я сделал это неправильно? пожалуйста помоги. Спасибо всем, что я очень ценю помощь.

  • я не включают в себя полные коды, потому что я думаю, что я перепутались на JQuery AJAX, потому что, видимо, процесс пошел хорошо и показал правильный результат

HTML FORM

<div class="product-filter-type"> 
        <input type="radio" class="checkFilter" id="filterAllTV" name="typeTV" value="AllTV" checked><label class="filterType" for="filterAllTV">All TV</label><br/> 
        <input type="radio" class="checkFilter" id="filterFHDTV" name="typeTV" value="FHD"><label class="filterType" for="filterFHDTV">FHD/HD</label><br/> 
        <input type="radio" class="checkFilter" id="filter4K" name="typeTV" value="FOURK"><label class="filterType" for="filter4K">4K</label> 
       </div> 

JAVASCRIPT/JQuery/AJAX

var type; 


    $('input[name="typeTV"]').click(function(){ 
     if ($(this).is(':checked')) 
     { 
      type = $('input[name="typeTV"]:checked').val(); 
      sendType(type); 
     } 
    }); 



function sendType(type){ 

    $.ajax({ 
     type: 'POST', 
     url: "{{ base_url() }}product", 
     data: { 
      'type' : type 
     }, 
     success: {} 
    }); 

PHP (FUELPHP)

public function action_product() { 

    $this->set_meta_info($this->_meta_slug); 

    $input_data = \Input::param(); 

    if(count($input_data) > 0){ 

     $this->_filter($input_data); 

    }else{ 

     $this->_data_template['product'] = \Product\Productutil::get_product_data(); 
     $this->_data_template['AllTV'] = 'checked'; 

    } 

    return \Response::forge(\View::forge('pages::frontend/product_list.twig', $this->_data_template, FALSE)); 
} 

private function _filter($input_data) { 

    $this->set_meta_info($this->_meta_slug); 

    if (count($input_data) > 0) { 

     $type  = isset($input_data['type']) ? $input_data['type'] : null; 


     if ($type){ 

      $this->_data_template['product'] = \Pages\Filterutil::get_type_product($type); 
      $this->_data_template[$type] = 'checked'; 

     }elseif { ... } 

     return $this->_data_template; 
    } 

} 
+2

Что вы ожидаете? Весь ваш код отправляет запрос AJAX и ничего не делает в обратном вызове, поэтому ничего в пользовательском интерфейсе не изменится. –

+0

Задайте вопрос? –

+0

В ваших инструментах dev вы должны увидеть запрос xhr, главная страница не меняет его заголовки. – madalinivascu

ответ

0

Хорошо я получил его.

Я добавил

$this->_filter($input_data); 
     return json_encode($this->_data_template['product']); 

на PHP части и добавил,

success: function (response) { 

      var json = $.parseJSON(response); 

      for (idx= 0; idx< json.length; idx++) { 

       .... 

      } 
     } 
    }); 

Спасибо всем, ценю это. Как закрыть этот вопрос?

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