Как сделать простой запрос PUT с использованием API выборки, создав собственную библиотеку HTTP?
Метод fetch () используется для отправки запросов на сервер без обновления страницы. Это альтернатива объекту XMLHttpRequest. Он будет использовать поддельный API, который будет содержать массив в качестве примера, и из этого API мы покажем PUT / Обновить данные с помощью метода API выборки, создав пользовательскую библиотеку HTTP. В этом руководстве используется следующий API: https://jsonplaceholder.typicode.com/users/2.
Предпосылка: вы должны знать основы HTML, CSS и JavaScript.
Объяснение: Прежде всего нам нужно создать файл index.html и вставить в него приведенный ниже код файла index.html. Этот файл index.html включает library.js и app.js файл в нижней части тела тега. Теперь в library.js файл, в первую очередь создать ES6 класс EasyHTTP и внутри этого класса есть асинхронная выборка () функция , которая помещает данные в ИПП URL. Ожидается два этапа. Сначала для fetch (), а затем для его ответа. Какой бы ответ мы ни получили, мы возвращаем его вызывающей функции в файле app.js.
Теперь в файле app.js сначала создайте экземпляр класса EasyHTTP. Затем, поместив функцию прототипа, отправьте URL-адрес в файл library.js. Далее в этом есть два обещания, которые необходимо выполнить. Первый предназначен для любых данных ответа, а второй - для любых ошибок.
Имя файла: index.html
<!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < meta http-equiv = "X-UA-Compatible" content = "ie=edge" > < title >PUT Request</ title > </ head > < body > < h1 > Simple PUT request using fetch API by making custom HTTP library </ h1 > <!-- Including library.js and app.js --> < script src = "library.js" ></ script > < script src = "app.js" ></ script > </ body > </ html > |
Имя файла: library.html
// ES6 class class EasyHTTP { // Make an HTTP PUT Request async put(url, data) { // Awaiting fetch which contains method, // headers and content-type and body const response = await fetch(url, { method: 'PUT' , headers: { 'Content-type' : 'application/json' }, body: JSON.stringify(data) }); // Awaiting response.json() const resData = await response.json(); // Return response data return resData; } } |
Имя файла: app.html
// Instantiating new EasyHTTP class const http = new EasyHTTP; // User Data const data = { name: 'sunny yadav' , username: 'sunnyyadav' , email: 'sunny@gmail.com' } // Update Post http.put( data) // Resolving promise for response data .then(data => console.log(data)) // Resolving promise for error . catch (err => console.log(err)); |
Вывод: Откройте файл index.html в браузере, затем щелкните правой кнопкой мыши -> проверьте элемент -> консоль .
Следующий вывод вы увидите для запроса PUT.