Какие знаешь способы отправки данных на сервер

«Какие знаешь способы отправки данных на сервер» — вопрос из категории JavaScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

  1. XMLHttpRequest (XHR) – старый способ, но до сих пор поддерживается.
    const xhr = new XMLHttpRequest();
    xhr.open('POST', '/api/data');
    xhr.setRequestHeader('Content-Type', 'application/json');
    xhr.send(JSON.stringify({ key: 'value' }));
  1. Fetch API – современная альтернатива XHR с промисами.
    fetch('/api/data', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ key: 'value' })
    });
  1. Axios – популярная библиотека для HTTP-запросов.
    axios.post('/api/data', { key: 'value' });
  1. FormData – для отправки форм, включая файлы.
    const formData = new FormData();
    formData.append('file', fileInput.files[0]);
    fetch('/upload', { method: 'POST', body: formData });
  1. WebSocket – для двусторонней связи в реальном времени.
    const socket = new WebSocket('ws://example.com');
    socket.send(JSON.stringify({ data: 'value' }));
  1. GraphQL – альтернатива REST с гибкими запросами.
    fetch('/graphql', {
      method: 'POST',
      body: JSON.stringify({ query: '{ user { name } }' })
    });