Форматирование данных формы с использованием JQuery для AJAX POST и легкий доступ к Laravel (или PHP)? - PullRequest
0 голосов
/ 12 сентября 2018

Мне нужно отправить данные формы через AJAX, чтобы я мог легко получить к ним доступ в Laravel (или используя стандартные методы PHP). На самом деле это форма, использующая Stripe Checkout, и я не могу автоматически отправлять ее, поэтому могу отправлять через AJAX. В настоящее время у меня есть код ниже, но подозреваемая переменная "formdata" неправильно отформатирована до ссылки в $ .ajax.

  1. Что мне нужно сделать, чтобы правильно отформатировать его?

  2. В идеале я хочу получить доступ к отдельным элементам формы на бэкенде как к обычным переменным POST (или на самом деле я использую Laravel, поэтому с помощью метода Request-> input ()) это будет сделано?

Спасибо

$('#booking-form').get(0).submit = function() {
    var formdata = $(this).serializeArray();

$.ajax({
    type: 'POST',
    url: 'book',
    data: { formdata },
    success: function (data)
        {
        // Form submitted and processed correctly, success returned
        },
    error: function (data)
        {
        // console.log('Error:', data.responseText);
        }
    });

Backend (Laravel 5.4, но я мог бы использовать сырой PHP, если бы мне пришлось):

public function book(Request $request)
    {
    $formfield1 = $request->input('formfield1');
    $formfield2 = $request->input('formfield2');
    [etc.]

    }

1 Ответ

0 голосов
/ 12 сентября 2018

Попробуйте это:

$(document).ready( function() {
    $('#booking-form').submit( function( e ) {
        e.preventDefault();
        $.ajax({
            type: 'POST',
            url: 'book',
            data: $('#booking-form').serialize(),
            success: function (data) {
                // Form submitted and processed correctly, success returned
            },
            error: function (data) {
                // console.log('Error:', data.responseText);
            }
        });
    });
});

Не очень знаком с Laravel, но, безусловно, доступ к полям формы через нативный PHP (т.е. $_POST['formfield1']) должен работать отлично.

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