选中复选框时,ajax不返回任何内容

时间:2019-06-11 10:46:45

标签: ajax laravel

当我选中复选框时,我有带有复选框的制造商列表。ajax被调用并命中控制器,但不返回任何内容

我正在使用laravel 5.1

    @foreach($manufacturers as $leedsManufacturer) {{-- @foreach($leedManufacturers as $leedsManufacturer) --}}
                                <div class="post" id="post{{$leedsManufacturer['mfgg_id']}}">
                                    <label class=" my-checkbox gry2" id="manufacturer">{{str_limit($leedsManufacturer['mfgg_name'], 300)}}
                                        <input type="checkbox" class="manufacturer common_selector" name="manufacturer[]" value="{{$leedsManufacturer['mfgg_id']}}">
                                        <input type="hidden" name="_token" value="{{ csrf_token() }}">

                                        <span class="checkmark"></span>
                                    </label>

                                </div>
                                    @endforeach 
                                @endif

脚本

$(document).ready(function() {

        filter_data();

        function filter_data() {

            var manufacturer = get_filter('manufacturer');
            // var products = get_filter('products');
            // var chps_approved = get_filter('chps_approved');

            $.ajax({

                url: "{{url('ajax1')}}",
                method: 'POST',
                headers: {
                        'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
                    },
                data:{manufacturer:manufacturer} ,

                success:function(data){
                console.log(data);
                }

            });

            // alert(manufacturers);
        }

        function get_filter(class_name) {

            var filter = [];

            $('.'+class_name+':checked').each(function(){
            filter.push($(this).val());
        });

        alert(filter);
        // return filter
        }

        $('.common_selector').click(function(){
        filter_data();
    });

    });

控制器

public function ajax1(Request $request){

    $data= $request->manufacturer;
    return response()->json($data);
}

在复选框上选中,它应该返回ID,以便我可以在控制器中使用它。但$request->manufacturer在控制台上显示。

1 个答案:

答案 0 :(得分:0)

尝试一下,以查看是否从表单获取ID。我使用javascript警报

$(document).ready(function() {

        filter_data();

        function filter_data() {

            var manufacturer = get_filter('manufacturer');

            alert(manufacturer);

            // var products = get_filter('products');
            // var chps_approved = get_filter('chps_approved');

            $.ajax({

                url: "{{url('ajax1')}}",
                method: 'POST',
                headers: {
                        'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
                    },
                data:{manufacturer:manufacturer} ,

                success:function(data){
                console.log(data);
                }

            });

            // alert(manufacturers);
        }

        function get_filter(class_name) {

            var filter = [];

            $('.'+class_name+':checked').each(function(){
            filter.push($(this).val());
        });

        alert(filter);
        // return filter
        }

        $('.common_selector').click(function(){
        filter_data();
    });

    });