Доступ к данным формы, полученным по запросу Ajax от Laravel - PullRequest
0 голосов
/ 10 сентября 2018

Мне интересно, есть ли лучший способ получить доступ к данным формы, полученным Laravel.

Это форма

<form action="{{ route('inspections.sections.update', ['inspectionId' => $inspection->id]) }}" method="POST" id="sectionsForm">
            {{ csrf_field() }}
            {{ method_field('put') }}
            <input type="hidden" name="testing" value="This is a test">
            @foreach($sections as $section)
                <ul>
                    <li>
                        <input class="form-control form-control-sm section" data-id="{{ $section->id }}" type="text" name="section_{{ $section->id }}" value="{{ $section->title }}">
                        <ul>
                            @foreach($subsections->where('section_id', $section->id) as $subsection)
                                <li><input class="form-control form-control-sm section" data-id="{{ $subsection->id }}" type="text" name="subsection_{{ $section->id }}" value="{{ $subsection->title }}"></li>
                            @endforeach
                        </ul>
                    </li>
                </ul>
            @endforeach


            <div class="form-group form-group-sm">
                <input class="btn btn-primary btn-xs" type="button" id="update_sections" value="Save">
            </div>
        </form>

Я отправляю данные формы следующим JQuery

$('#update_sections').on('click', function() {

                    console.log('update button was clicked!');

                    var buttonClicked = $(this);
                    var buttonId = buttonClicked.data('id');

                    var formData = JSON.stringify($('#sectionsForm').serialize());

                    var ajaxRequest = $.ajax({
                        url: "../questions",
                        method: "PUT",
                        data: {
                            inspectionId: {{ $inspection->id }},
                            alteredFields: JSON.stringify(alteredFields),
                            formData: $('#sectionsForm').serialize()
                        },
                        success: function(data) {
                            console.log('success: ' + data);
                        }
                    });

                    ajaxRequest.done(function () {
                        console.log('Updated successfully');

                        //console.log(JSON.parse(ajaxRequest));
                    });

                    ajaxRequest.fail(function( jqXHR, textStatus ) {
                        console.log( "Request failed: " + textStatus );
                    });
                });

Мне интересно, как я могу получить доступ к значениям формы. Должен ли я использовать функцию Explode (), чтобы сделать это? или есть более простой способ. Мне удалось прочитать значение formData, но я получаю его таким образом

_token=2eb6uTkbJ32eTH9ENlVpveKfWB5xwAVfXuFTAINy&_method=put&testing=This%20is%20a%20test&section_2=Altered%26&subsection_2=First%20subsection&subsection_2=second%20subsection&subsection_2=third%20subsection&section_8=Altered&section_4=Altered&subsection_4=Altered
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...