Laravel 5.7 Автозаполнение поиска из БД: JS не распознает маршрут - PullRequest
0 голосов
/ 08 ноября 2018

Я следую этому уроку: https://www.youtube.com/watch?v=D4ny-CboZC0

Я все сделал, но во время тестирования я получаю в консоли следующую ошибку:

jquery.min.js:2 POST
http://apr2.test/admin/posts/%7B%7B%20('autocomplete.fetch')%20%7D%7D
404 (Not Found)

Одна вещь, которую я делаю по-другому, это то, что мне нужна эта функция поиска на моей странице создания поста, а не эксклюзивная , поэтому мои маршруты выглядят так:

Route::group(['prefix' => 'admin', 'namespace' => 'Admin', 'middleware' => 'auth'], function () {
   Route::get('/', 'AdminController@index')->name('admin');    
   Route::get('posts', 'PostsController@index')->name('admin.posts.index');
   Route::get('posts/create', 'PostsController@create')->name('admin.posts.create');
   Route::post('posts/create', 'PostsController@fetch')->name('autocomplete.fetch');
   Route::post('posts', 'PostsController@store')->name('admin.posts.store');
});

Мой код JS / jQuery:

// A $( document ).ready() block.
$(document).ready(function () {

    $('#country_name').keyup(function () {
        var query = $(this).val();
        if (query != '') {
            var _token = $('input[name="_token"]').val();
            $.ajax({
                url: "{{ ('autocomplete.fetch') }}",
                method: "POST",
                data: {
                    query: query,
                    _token: _token
                },
                success: function (data) {
                    $('#countryList').fadeIn();
                    $('#countryList').html(data);
                }
            });
        }
    });

    $(document).on('click', 'li', function () {
        $('#country_name').val($(this).text());
        $('#countryList').fadeOut();
    });
});

Что не так?

1 Ответ

0 голосов
/ 08 ноября 2018

Я думаю, что проблема исходит от блэйда, где вы используете имя маршрута, так как %7B%7B в URL-адресе переводится на {{.

Пожалуйста, дважды проверьте, используете ли вы правильный код или тег действия в элементе формы: {{ route ("autocomplete.fetch") }}, и он не теряется некоторыми кавычками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...