Динамический выбор ввода в Laravel / Ajax - PullRequest
0 голосов
/ 09 января 2019

Почему я не могу получить запрос Ajax? У меня есть ProductController с методом create().

public function create(Request $request)
{
    $value = $request->get('keyname') ? $request->get('keyname') : 1;
    $companies = Company::all();
    $categories = Company::find($value)->categories;

    return view('admin.pages.createProduct', compact('categories', 'companies'));
}

У меня есть два выбранных входа: первый - это список компаний, а второй - категория, которая зависит от выбора компании, потому что каждая компания имеет свою категорию.

Запрос Ajax

$(document).ready(function () {
    $("#company").change(function () {
        var select = $('#company').find(":selected").val();
        $.ajax({
            url: "{{ route('product.create') }}",
            method: 'PUT',
            dataType: 'text',
            data: {
                keyname: select,
                _token: '{{csrf_token()}}'
            }, success: function (response) {
                console.log(select);
            }
        });
    });
});

Однако $request->get('keyname') не получает значение select.

1 Ответ

0 голосов
/ 09 января 2019

Попробуйте, в вашем методе магазина контроллеров,

public function store(Request $request)
{

    $value = $request->get('keyname')?$request->get('keyname'):1;

    $companies = Company::all();

    $categories = Company::find($value)->categories;

    return view('admin.pages.createProduct',compact('categories','companies'));
}

в вашем методе ajax,

       $(document).ready(function() {
            $("#company").change(function(){
                // var select =  $('#company').find(":selected").val();
                var select = $('#company :selected').val();
                $.ajax({
                    url: '{{ route("product.store") }}',
                    type: 'POST',
                    data: {
                        keyname: select,
                        _token: '{{csrf_token()}}'
                    }, success: function (response) {
                        console.log(select);
                    }
                });
            });
        });
...