Как добавить переменную в ajax URL route - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь объединить переменную с моей URL-ссылкой в ​​ajax.Переменная $news - это та, которая обрабатывает идентификатор уведомления.

$(document).on("click", "#viewList", function() {

    $.ajaxSetup({
        headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });
    var $news = $(this).prop("value");
    $.ajax({
        type: "get",
        url : '{{url("admin/recipients/", $news)}}', //returning an error undefined variable news
        data: {newsID : $news},
        success: function(store) {
            console.log(store);
            $('#rec').text(store);
        },
        error: function() {
          $('.alert').html('Error occured. Please try again.');
        }
    });

});

В моем файле web.php его маршрут находится внутри группы маршрутов.

Route::group(['middleware' => 'auth:admin'], function () {
    Route::prefix('admin')->group(function() {
        Route::get('/recipients/{news}', 'Admin\NewsController@recipients');
    });
});

Так как я могусделать эту работу?Кстати, мой AJAX находится внутри blade.php файла.

1 Ответ

0 голосов
/ 05 марта 2019

$ news не существует для блэйда, потому что он выполняется в тот момент, когда сервер отображает страницу.Итак, ваш javascript еще не выполнен.Чтобы это работало, измените свой js-код на следующий:

$(document).on("click", "#viewList", function() {

    $.ajaxSetup({
        headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });
    var news = $(this).prop("value");
    $.ajax({
        type: "get",
        url : '{{url("admin/recipients")}}' + '/' + news,
        data: {newsID : news},
        success: function(store) {
            console.log(store);
            $('#rec').text(store);
        },
        error: function() {
          $('.alert').html('Error occured. Please try again.');
        }
    });

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