Задать вопрос
@s24344

Как отправить объект js ajax на сервер (native javascript)?

Здравствуйте. Подскажите, пожалуйста, как правильно отправить объект javascript аяксом на сервер, и в случае успешного ответа выполнить функцию.
Объект, например:
{id: "_2", thumbnailImageUrl: "/picture.jpg", code: "LF532", title: "Some sample"}
  • Вопрос задан
  • 1155 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Crimsons
//Создаем объект запроса
let xhr = new XMLHttpRequest();
//Вызываем его метод open, где указываем метод запроса(POST, так как мы будем отправлять данные. Хотя эксперты могут поправить меня) и url сервера, куда будем отправлять
xhr.open('POST', url);
//Регистрируем обработчик события, который будет вызван при окончании ( и не только ) получения данных обратно от сервера
xhr.addEventListener('readystatechange', function() {
   //Проверим состояние запроса, нас интересует случай когда он завершен ( DONE )
   if (xhr.readyState === 4) {
      //Дальше проверим какой код ответа нам выдал сервер
      if (xhr.status === 200) {
        //Если попали сюда, значит можно выполнить функцию, которую вам нужно
       callback();
      }
   }
}, false);
//Установим заголовок запроса, где явно укажем тип данных, который будем передавать. В нашем случае это будет объект в формате JSON
xhr.setRequestHeaders('Content-Type', 'application/json');
//Отправим запрос, передав в тело запроса наш сериализованый в формат JSON наш объект
xhr.send(JSON.stringify(obj));

Прошу простить за возможные опечатки.
На сервере же вам понадобится преобразовать JSON обратно в объект.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы