Как разместить и запросить данные в методе контроллера в Laravel, используя JQuery и загрузочные многошаговые формы? - PullRequest
0 голосов
/ 25 марта 2019

Я хочу отправить данные многоступенчатой ​​формы в метод контроллера, когда я нажму кнопку «Сохранить», а затем запросить эти данные в методе контроллера с помощью Jquery.Я попробовал несколько шагов, но даже кнопка, похоже, ничего не делает.

У меня есть этот маршрут для хранения данных лечения.

Route::post('/patients/{patient}/medications','PatientMedicationsController@store')->name('saveTreatment')->middleware('auth');

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

heartRate, bloodPressure, otherFindings, duration

И идентификатор кнопки отправки - save.у меня есть этот код Jquery в моем виде лезвия.

<script>
    $(document).ready( function() {
    $('#save').click( function () {
    $.ajax({
        url:("route('saveTreatment')"),
        type: 'POST',
        data: {'submit': true},
        success: function () {
            alert('Treatment has been saved');
           }
         });
       });
   });
</script>

Метод контроллера, который нужно сохранить: store.

Я хочу, чтобы данные многоступенчатой ​​формы были получены методом контроллера изатем сохраняется в базе данных.

1 Ответ

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

Вам необходимо указать маршрут в синтаксисе блейдов в вашем вызове ajax:

{{ route('saveTreatment', $patient->id) }}

Таким образом, весь вызов ajax будет выглядеть так:

$(document).ready( function() {
    $('#save').click( function () {
    $.ajax({
        url:("{{ route('saveTreatment', $patient->id) }}"),
        type: 'POST',
        data: {'submit': true},
        success: function () {
            alert('Treatment has been saved');
           }
         });
    });
});

Если ваш вызов ajax находится в отдельном файле, вы можете добавить в форму атрибут данных, такой как data-ajax-url = "{{route ('saveTreatment', $ Patient-> id)}}".

Ваш вызов ajax будет выглядеть так:

$(document).ready( function() {
    $('#save').click( function () {
    $.ajax({
        url:($('.form-class').attr('data-ajax-url')),
        type: 'POST',
        data: {'submit': true},
        success: function () {
            alert('Treatment has been saved');
           }
         });
    });
});

Вы также можете просто написать URL как:

url:("/patients/" + {{ $patient->id }} + "/medications"),

Вам также необходимо убедиться, что любое возвращаемое значение из контроллера заключено в json_encode ();

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