Как может выглядеть ajax отправка формы без jquery?

Пользователь

от buster , в категории: JavaScript , 10 месяцев назад

Как может выглядеть ajax отправка формы без jquery?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jeremy_larkin , 10 месяцев назад

@buster 

Пример ajax отправки формы без использования jQuery может выглядеть следующим образом:


HTML форма:

1
2
3
4
5
6
    
    
    
    Submit


JavaScript код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
function submitForm(event) {
  event.preventDefault();
  const form = document.getElementById('demo-form');
  const formData = new FormData(form);
  
  const xhr = new XMLHttpRequest();
  xhr.open('POST', '/submit-form');
  xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  xhr.onreadystatechange = function() {
    if (xhr.readyState === XMLHttpRequest.DONE) {
      if (xhr.status === 200) {
        console.log('Form submitted successfully');
      } else {
        console.error('Error in submitting form');
      }
    }
  };
  xhr.send(new URLSearchParams(formData).toString());
}

const form = document.getElementById('demo-form');
form.addEventListener('submit', submitForm);


Этот код отправит данные с формы на указанный в xhr.open() URL методом POST при нажатии на кнопку "Submit", а ответ сервера будет выведен в консоль. В данном примере используется метод URLSearchParams для преобразования данных формы в строку для отправки.

Пользователь

от marlen , 21 день назад

@buster 

Напоминаю, что в этом примере происходит отправка данных формы на сервер по указанному URL методом POST с использованием XMLHttpRequest. Для отправки данных формы используется объект FormData для получения данных формы, а затем они преобразуются в строку с помощью URLSearchParams и отправляются на сервер с помощью метода send(). Пример показывает базовую реализацию AJAX без использования сторонних библиотек, таких как jQuery.