Обрабатывайте информацию из браузера.
Какова тематика этого блога?
В этом блоге мы рассмотрим процесс создания конечных точек API и доступа к ним из браузера, а также отправим ответ на основе полученной информации.
В этой первой части мы объясним, как информация отправляется из браузера с помощью строки запроса и как сервер может получить доступ к этой информации и использовать ее.
Во второй части мы увидим, как сервер, имеющий доступ к этой информации, может использовать их для отправки ответа браузеру для отображения информации на экране пользователю.
Когда дело доходит до сервера и на стороне клиента, одна из самых сложных и увлекательных частей - это то, как двое общаются друг с другом, а также запрашивают и отправляют информацию.
Первый шаг - браузер связывается с сервером и передает некоторую информацию. Серверу необходимо собрать эту информацию и использовать ее для генерации ответа, чтобы отправить обратно браузеру, который отобразит эту информацию на экране для пользователя. Для этого нам нужно научиться создавать конечную точку HTTP JSON с помощью Express.
Как браузер отправляет информацию на сервер?
Наша первая задача - уметь и понимать, как браузер отправляет информацию на сервер. Для этого мы будем использовать строку запроса, которая является расширением URL-адреса, предоставляющим дополнительное значение для передачи вместе с запросом.
Давайте создадим пример информации, отправляемой на сервер со строкой запроса. В нашей кодовой среде нам нужно создать конечную точку для продуктов.
Здесь сервер будет прослушивать конечную точку, в нашем случае продукты http: // localhost: 3000 /. И мы устанавливаем базовый ответ пустого массива.
Если вы сейчас посетите эту конечную точку, мы должны увидеть следующее:
Идеально! Наши сборки конечных точек с Express работает :).
Если мы хотим реализовать какие-то функции поиска, мы можем написать строку запроса. Нам нужно предоставить эту информацию после созданной нами конечной точки URL. Мы должны начать это с вопросительного знака (?), А затем предоставить пары ключ-значение для передачи дополнительной информации на сервер. Пример формата (? Key = value)
Предположим, что для электронной коммерции нам нужно, чтобы пользователь выполнял поиск определенного продукта среди списка продуктов.
Http: // localhost: 3000 / products ? Search = toys.
Теперь в браузере мы отправим запрос с этой дополнительной информацией, представленной в виде строки запроса.
В серверной части теперь мы можем выбрать поддержку любого количества параметров строки запроса. В этом случае мы передаем только один, если мы хотим передать больше одного, нам нужно разделить их знаком «&». Допустим, нам нужны игрушки с высоким рейтингом, например игрушки с рейтингом пять звезд:
Http: // localhost: 3000 / products ? Search = toys & rating = 5
Если мы отправим этот запрос, ничего не произойдет, потому что мы не создали никакой логики в нашей серверной части для обработки этого запроса.
Как сервер получает эту информацию ??
Информация, которую мы передаем в виде строки запроса, доступна внутри нашего обработчика маршрута Express:
У нас есть и запрос, и ответ, информация, которая нам нужна для извлечения, живет в объекте запроса (req).
Объект запроса имеет свойство Query, к которому вы можете получить доступ, набрав «req.query».
Мы можем увидеть, какую информацию имеет этот объект, выполнив вывод в консоль req.query:
Теперь, если вы обновите страницу, он отправит этот запрос на сервер, и мы сможем вывести на консоль объект Query, как вы можете видеть из приведенного выше примера. Объект имеет свойства поиска и рейтинга, а также их значения, которые мы передали по запросу, {search: ‘toys’, rating: ‘5’}.
Теперь, если мы хотим получить одно из этих значений, мы можем записать образец: req.query.search или req.query.rating, и мы сможем выбрать переданное значение. .
Давайте посмотрим, как мы можем получить значение свойства поиска, распечатав его в консоли.
Как вы можете видеть в нижней части консоли, у нас есть значение «toys», потому что мы выбрали req.query.search. Возможность работы с запросом - это то, как мы можем получить доступ к значению, переданному из браузер.
Теперь мы знаем, как браузер отправляет информацию на сервер и как сервер может получить доступ к этой информации. Вы можете попробовать отправить больше пар значений свойств и получить доступ к ним для некоторой практики. Во второй части блога мы объясним, как сервер может использовать эту информацию для генерации ответа для отправки обратно в браузер.