2016-09-16 26 views
0

jquery ajaxを使用して入力値をPHPに送信するこのHTMLフォームがあります。このプロセスはうまくいったが、右クリック>要素>ネットワーク>ヘッダーを右クリックすると表示されます。残念ながら、実際のページはそのままです。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リクエストを送信し、コールバックで何もしないので、UIの何も変わりません。 –

+0

あなたの質問を定義しますか? –

+0

あなたの開発ツールでは、xhrリクエストが表示されるはずです。メインページはヘッダーを変更しません。 – madalinivascu

答えて

0

[OK]を、私はそれを得ました。

私は

success: function (response) { 

      var json = $.parseJSON(response); 

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

       .... 

      } 
     } 
    }); 

はそれを感謝し、あなたのすべてをありがとう、PHPの一部に
$this->_filter($input_data); 
     return json_encode($this->_data_template['product']); 

を追加して、コメントを追加しました。この質問を閉じるには?

関連する問題