Как отправить данные JSON на сервер?
JSON — это аббревиатура для нотации объектов Javascript . JSON — это текстовый формат данных, используемый для хранения и передачи информации. Он широко используется для передачи данных с сервера на клиент, с клиента на сервер и с сервера на сервер.
Синтаксис: пары ключ/значение в JSON разделяются запятыми:
{ "name": "David", "age": 22, "gender": "male", }
Настройка и установка:
Шаг 1. Создайте папку с именем PostJSON и выполните следующую команду, чтобы запустить приложение NodeJS .
npm init -y
Шаг 2: Используя следующую команду, установите необходимые пакеты npm.
npm install express body-parser
Шаг 3: Создайте файлы index.html и server.js в каталоге вашего проекта.
Структура проекта: Каталог нашего проекта теперь должен выглядеть так:
Шаг 4: Требуйте и настройте экспресс-приложение , чтобы оно могло начать прослушивание запросов. Наш сервер настроен на использование порта 3000 .
Javascript
const express = require( "express" ); const bodyParser = require( "body-parser" ); const app = express(); app.use(express.json()); app.get( "/" , function (req, res) { res.sendFile(__dirname + "/index.html" ); }); app.post( "/data" , function (req, res) { console.log(req.body.name); console.log(req.body.email); }); app.listen(3000, function () { console.log( "Server started on port 3000" ); }); |
Структура внешнего интерфейса нашего приложения проста, с двумя входами: один для имени и один для электронной почты. Кнопка отправки для отправки входных данных на сервер. Когда пользователь нажимает кнопку отправки, он отправляет запрос POST с данными JSON на маршрут /data на сервере, а затем сервер регистрирует полученные данные.
Пример 1. В этом примере мы будем использовать API выборки для отправки данных на сервер NodeJS.
HTML
<!DOCTYPE html> < html > < head > < title >Post JSON to Server</ title > < script > function send() { var name = document.getElementById("name").value; var email = document.getElementById("email").value; var result = document.getElementById("result"); const json = { name: name, email: email, }; fetch("/data", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(json), }); } </ script > </ head > < body > < h1 style = "color: green" >Welcome To GFG</ h1 > < input type = "text" id = "name" placeholder = "Name" /> < input type = "email" id = "email" placeholder = "Email" /> < button onclick = "send()" >Send</ button > </ body > </ html > |
Выход:
Пример 2. В следующем примере показано, как мы можем использовать XMLHttpRequest (XHR) для выполнения запроса JSON POST.
HTML
<!DOCTYPE html> < html > < head > < title >Post JSON to Server</ title > < script > function send() { var name = document.getElementById("name").value; var email = document.getElementById("email").value; var result = document.getElementById("result"); const xhr = new XMLHttpRequest(); // create a JSON object const json = { name: name, email: email, }; // open request xhr.open("POST", "/data"); // set `Content-Type` header xhr.setRequestHeader("Content-Type", "application/json"); // send request with JSON payload xhr.send(JSON.stringify(json)); } </ script > </ head > < body > < h1 style = "color: green" >Welcome To GFG</ h1 > < input type = "text" id = "name" placeholder = "Name" /> < input type = "email" id = "email" placeholder = "Email" /> < button onclick = "send()" >Send</ button > </ body > </ html > |
Выход:
Шаги для запуска приложения:
Шаг 1: Запустите сервер с помощью следующей команды.
node server.js
Шаг 2: Введите следующий URL-адрес в браузере, и вы увидите страницу index.html с содержимым.
http://localhost:3000/
Шаг 3: Введите имя и адрес электронной почты в поля ввода и нажмите кнопку «Отправить».
Шаг 4: Проверьте терминал, регистрирует ли сервер полученные данные или нет.