Сегодня я покажу вам, как сделать запрос XHR AJAX для выполнения вызовов RESTful API, таких как «GET» и «POST», к вашим конечным точкам.
Недавно мне пришлось сделать это при создании административного сайта на работе, и я хотел бы поделиться со всеми вами, как это сделать!
Давайте начнем!
В вашем html у вас будет базовая форма с кнопкой отправки с функцией, прикрепленной к форме, которую мы настроим в нашем ajax.js ниже.
// ajax.js function sendData(event, postURL) { event.preventDefault() var xhr = new XMLHttpRequest() xhr.open('POST', postURL, true) xhr.onreadystatechange = function () { if (xhr.readyState === 4) { if (xhr.status === 200) { alert("Send input data was successful") } else { alert("There was a problem sending input data. Please try again") } } } var formData = new FormData( document.getElementById(formID) ); xhr.send(formData); }
Итак, у нас есть простая функция отправки, когда мы нажимаем кнопку отправки в html-файле. Как видите, мы создаем новый объект XMLHttpRequest, чтобы настроить HTTP-запрос. По сути, этот объект позволит вам сделать HTTP-запрос (например, отправить). xhr.open(‘POST’, postURL, true)
эта строка не требует пояснений. Мы открываем POST-запрос с указанным postURL или конечной точкой. Последний аргумент этого вызова - сообщить запросу, что это будет вызов AJAX.
Функция xhr.onreadystatechange
является обратным вызовом после завершения вызова AJAX с запросом, поэтому важно, чтобы эта функция выполнялась перед отправкой данных формы. Если функция была размещена после отправки данных, вы не получите сообщение о том, были ли данные отправлены успешно или нет. Чтобы узнать больше о том, как отправлять составные данные, ознакомьтесь с моей публикацией об этом здесь.
И это все, что нужно для создания вызова AJAX. Очень просто и легко!