Как перенаправить маршрут Laravel из файла Javascript в шаблоне блейда

#javascript #php #jquery #laravel #laravel-blade

#javascript #php #jquery #laravel #laravel-blade

Вопрос:

У меня есть форма рецепта, и я отправил форму с помощью AJAX.

Теперь я хочу автоматически перенаправить на другой маршрут из AJAX после успешной отправки формы.

Я пробовал несколько вариантов, таких как

 window.location.href = "{ url('/show-all-prescription') }"
  

и

 {{ route('/show-all-prescription')}}
  

AJAX-КОД

 jQuery.ajax({
url:"{{ url('/submit_prescription') }}",
type: 'GET',
data: {name: name, age: age, mobile_no: mobile_no},
success:function(msg){

    if(msg>0)
    {

        // window.location.href = "{ url('/show-all-prescription') }";

        {{ route('/show-all-prescription')}}

    }
}
});
  

И получил ошибку

Маршрут [/показать все по рецепту] не определен

route.php

 Route::get('/show-all-prescription', 'prescriptionController@show_all_prescription');
  

Но не получаю результат. Кто-нибудь, пожалуйста, помогите?

Комментарии:

1. Если ваш JS внешний загружен или визуализирован из шаблона блейда?

2. @paskl … внутри из шаблона блейда

3. Что происходит, когда вы создаете переменную JS и устанавливаете ее значение из блейда в путь маршрута? Переменная JS внутри отображаемого шаблона не определена или значение правильное?

4. @paskl… Я обновил свой код .. пожалуйста, проверьте

Ответ №1:

В файле маршрута

 Route::get('/show-all-prescription', 'prescriptionController@show_all_prescription')->name('show-all-prescription');
  

Затем в файле блейда запрос ajax,

 window.location.href = "{{ route('show-all-prescription')}}";
  

Комментарии:

1. Вы также можете использовать маршрут, предложенный в этом ответе, в вашем JS-файле просто добавьте: window.location.href = "/show-all-prescription" Аналогично, вы можете передать параметры, подобные этому: window.location.href = "/show-all-prescription" perscriptionVariable При обновлении маршрута до: Route::get('/show-all-prescription/{perscriptionVariable}', 'prescriptionController@show_all_prescription');