У меня есть обычный post запрос для формы регистрации:
function tryToRegister(login_window) {
var name = $('[name="name"]').val();
var password = $('[name="password"]').val();
var password_confirmation = $('[name="password_confirmation"]').val();
var email = $('[name="email"]').val();
var recaptcha = grecaptcha.getResponse();
var _token = $('[name="_token"]').val();
$.post('/register', {
'name': name,
'password_confirmation': password_confirmation,
'email': email,
'password': password,
'g-recaptcha-response': recaptcha,
'_token': _token
}, function (data) {
// if ok
}).fail(function (xhr, status, error) {
// if error
});
}
Но в этой форме есть ещё загрузка файла:
<input type="file" name="avatar" class="registration-form__avatar__uploader__input">
Я никак не пойму, как мне прикрутить к данным AJAX ещё и картинку аватара, чтобы потом считать её в PHP как обычно из массива $_FILES. Везде, где описана загрузка файлов по AJAX - именно отдельно загрузка файлов или загрузка сразу при выборе файла, а мне нужно отправить файл вместе с формой, одним запросом, одному скрипту.
P. S. Прошу не судить строго, я бекэндщик, которому пришлось писать фронт.