Обект на заявка в Express.js

Съдържание
Начинът на работа на Node.js и на Експрес е ориентиран към два основни аспекта, първият е, че само един език за програмиране се използва за постигане на всички цели, а вторият е, че разработените функционалности са в стил ПОЧИВКА за да можем да имаме a Back-end която е независима и следователно всякакъв вид Преден край.
За да развием успешно втората точка, трябва да имаме ясни няколко неща, но най -важното е да разберем обекта заявка какво му има Експрес и как работи, когато го включим в нашите приложения, по този начин можем да улавяме различни видове данни, изпратени от потребителя, без да се налага да преминаваме през тромави процеси.
Едно от първите неща, които трябва да направим, е да разберем какво получава и не получава нашето приложение, за това ще обясним методите HTTP но не от гледна точка на дефиницията на тези понятия, тъй като тя е донякъде далечна тема, ако не и от вътрешна гледна точка.
Нашите браузъри имат два начина за изпращане на данни директно към приложение, това са ПОЛУЧАВАЙТЕ Y POST, за първи път данните преминават през URL адрес и те са публични, което го прави специален за консултации и изграждане на Постоянни връзки, тоест уникални връзки, с които да правите запитвания.
Методът POST пътува тайно, в смисъл, че потребителят не може директно да види какво се изпраща. С появата на инструменти отстраняване на грешки В нашите браузъри вече можем лесно да видим тази информация, дори можем да се преструваме, че изпращаме данни от някои инструменти POST.
Има отделно споменаване, което трябва да направим, фактът, че браузърът директно изпраща само тези два метода към нашето приложение, не означава, че не можем да използваме други, и това е мястото, където Ajax заема централно място, тъй като чрез него можем да отправяме заявки или HTTP заявка от други видове, за да управлява всичко чрез гореспоменатия протокол.
Друга форма на данни, която преминава през нашия браузър и която не е непременно потребителска информация, са заглавките, които имат множество приложения, но по същество те са данни, които ни позволяват да идентифицираме браузъра и отговорите, които той чака.
ПримерНапример, ако браузърът иска да изтегли съдържание под формата на обикновен текст, тъй като нашето приложение го е уредило така, ние трябва да се уверим, че когато заявката е направена, тя се обработва с заглавката на обикновен текст, като по този начин генерираме отговор, че браузърът може да тълкува по този начин.
Но не само това, нашето приложение може също да отговори със заглавки, които браузърът интерпретира по такъв начин, че можем да ограничим, покажем или извършим всяко друго съвместимо действие върху резултата, който потребителят вижда.
Например, ако не искаме конкретен браузър (Internet Explorer) вижте нашето приложение, ние просто вземаме заглавката, която първоначалната заявка ни изпраща, и чрез обработката на заявката на потребителски агент нашето приложение решава дали да покаже някакви резултати на споменатия браузър.
Предметът заявка Това е най -простият и най -подробен начин, който имаме вътре Експрес за да можем да манипулираме заявките, генерирани при използването на нашето приложение, така че с този обект можем да улавяме заглавките, данните, изпратени от потребителя, и дори данните, изпратени от Аякс. В Експрес можем да използваме няколко елемента, принадлежащи на обекта заявка За манипулиране на данни нека видим най -полезните и съответното им обяснение:
рек.парамиТози обект ни позволява да получим маршрутите, имената и техните параметри, той се използва за получаване на повече от всички данни, изпратени от част от нашето приложение.
req.param.nameТози обект ни позволява да получим стойността на конкретна пратка или чрез POST или ПОЛУЧАВАЙТЕ, много е полезно да получите само една от стойностите.
req.queryТова е много полезно, за да получите querystring на URL, той обикновено се сдвоява с метода ПОЛУЧАВАЙТЕ и стойностите се получават като конфигурация ключ-стойност, дори този обект може да бъде полезен за попълване на някакъв тип база данни в стила на redis, за да споменем някои.
req.bodyТази спецификация на нашия обект ни позволява да улавяме съдържанието на заявка, направена с метода POSTВъпреки това, за да използваме този обект нормално в нашето приложение, се нуждаем от посреднически софтуер за да можем да уловим тези данни по начин, по който можем да ги обработим.
req.headersТози обект получава заглавките от клиента, тоест това, което обяснихме по -рано, ще бъдат данните, изпратени от браузъра.
req.xhrЗа тази цел можем да определим какъв тип заявка получаваме, за да можем да знаем, че това е a Аякс или нормална заявка от браузъра, с това ще знаем какъв тип обработка трябва да извършим според логиката на нашето приложение.
req.urlС това можем да получим URL адреса на клиента, като по този начин ще получим конкретния маршрут, който достига до нашето приложение.
Нека видим в следващото изображение някои примери за това как можем да използваме в Express различните обекти на заявка които дефинирахме по -рано:

Увеличете

Как виждаме обекта заявка се използва за получаване директно при генерирането на маршрута на нашето приложение, било в метода POST или ПОЛУЧАВАЙТЕ, Можем да получим достъп до този обект директно и дори след като го използваме, можем да извикаме отговор, което ни води до следващата точка в нашия урок.
Въпреки че този урок е за обекта заявка, предметът отговор това върви ръка за ръка с този, тъй като след като получим искане, най -логичното нещо, което трябва да направим, е да изпратим отговор и като такъв трябва да използваме конкретен метод за това. Нека видим по -нататък най -важните методи, които можем да използваме с обекта на отговор в Експрес.
res.status (код)Това е може би най -полезният от методите, които имаме Експрес, с кода за отговор можем да кажем на браузъра дали изпратената от него заявка е била адекватна, дали обработката е била правилна, или ако няма разрешение за достъп до този маршрут с тази заявка, тези кодове, които се обработват, са цифрови и стандартни, най -известен е 200 приемане, последвано от 404 който е ресурс, който не е намерен или 500 което е грешка на сървъра.
res.set (поле, стойност)С този метод можем да изпратим стойност към заглавката на браузъра, но ръчното му използване не се препоръчва.
res.send (body)Тя ни позволява да изпратим отговора до браузъра или до клиента, той се използва заедно с метода комплект, тъй като първият установява стойността и с това правим пратката, например при разработването на конкретна заглавка, която искаме да използваме.
res.json ()Този метод ни позволява да изпратим нашия отговор под формата на JSON, както знаем или трябва да знаем, това е основният формат, с който трябва да се справим, когато работим JavaScript тъй като ни позволява да изпращаме документи по прост начин и това може да се използва на други езици.
res.render (изглед, & # 91, callback) '] Този метод ни позволява да покажем изгледите на Експрес, например, когато създаваме маршрут и той трябва да генерира изглед на метода рендериране отговаря за извършването на тази операция.
Нека видим на следващото изображение някои примери за обекта на отговор и как можем да изпратим информацията по подходящ начин до нашия клиент или браузър.

Увеличете

Тук на изображението забелязваме как всъщност нямаме нужда от обект заявка за изпращане на данни до клиента, но също така можем да видим колко сигурен е обектът отговор ни дава идеи как да го комбинираме с обекта на заявката, за да направим пълни цикли и да имаме някакво значение в нашето приложение.
Въпреки че цялата тази теория е много плътна, най -добре е да започнем да я разбираме, тъй като в крайна сметка тя ще ни позволи да вземаме по -добри решения при изграждането на нашите уеб приложения, създадени с Експрес.
С това завършваме този урок, как виждаме обекта заявка не работи само в околната среда или екосистемата на Експрес, тъй като обикновено зависи от други неща като браузъра, HTTP методите и разбира се всяка заявка генерира отговор, там обектът влиза в игра отговор Ако искаме това да е този, който изпълнява следващото действие, с това постигаме двупосочно взаимодействие и по този начин завършваме вътрешните цикли на нашето приложение.
wave wave wave wave wave