HTML表单使用jQuery Ajax向PHP发送值

时间:2016-09-16 08:11:43

标签: php jquery json ajax fuelphp

我有这个HTML表单,使用jquery ajax将输入值发送到php。这个过程进展顺利,但只有当我右键单击>检查元素>网络>标题时才会看到它。但真实页面保持不变。

无论如何我做错了吗?请帮忙。谢谢,我非常感谢你的帮助。

  • 我没有包含完整的代码,因为我认为我已经搞砸了jquery ajax,因为显然这个过程进展顺利并且显示了正确的结果

HTML表格

<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;
    }

}

1 个答案:

答案 0 :(得分: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++) {

                ....

            }
        }
    }); 

谢谢大家,感激不尽。如何关闭这个问题?