Turinys
Darbo būdas Node.js ir iš Ekspresas yra orientuota į du pagrindinius aspektus, pirmasis yra tas, kad visiems tikslams pasiekti naudojama tik viena programavimo kalba, o antrasis - kad sukurtos funkcijos būtų tokio stiliaus POILSIS kad galėtume turėti a Užpakalinė dalis yra nepriklausomas, taigi ir bet kokio tipo Priekinis galas.Norėdami sėkmingai plėtoti antrąjį tašką, turime aiškiai suprasti keletą dalykų, tačiau svarbiausia yra suprasti objektą prašymas kas negerai Ekspresas ir kaip tai veikia įtraukiant jį į mūsų programas, tokiu būdu galime užfiksuoti įvairių tipų vartotojo siunčiamus duomenis, nereikalaudami sudėtingų procesų.
Vienas iš pirmųjų dalykų, kuriuos turime padaryti, yra suprasti, ką mūsų programa gauna ir ko negauna, todėl mes paaiškinsime metodus HTTP bet ne tų sąvokų apibrėžimo požiūriu, nes tai yra šiek tiek tolimas dalykas, jei ne vidiniu požiūriu.
Mūsų naršyklės turi du būdus, kaip tiesiogiai siųsti duomenis į programą GET Y POST, pirmiausia duomenys keliauja per URL ir jie yra vieši, todėl ypatinga konsultacijoms ir statyboms Nuolatinės nuorodos, tai yra, unikalios nuorodos, kuriomis galima atlikti užklausas.
Metodas POST keliauja slapta, ta prasme, kad vartotojas negali tiesiogiai matyti, kas siunčiama. Atsiradus įrankiams derinimas Mūsų naršyklėse jau galime lengvai matyti šią informaciją, netgi galime apsimesti, kad kai kurie įrankiai siunčia duomenis POST.
Turime atskirai paminėti, kad tai, kad naršyklė tiesiogiai siunčia tik tuos du metodus į mūsų programą, nereiškia, kad negalime naudoti kitų, ir čia „Ajax“ užima svarbiausią vietą, nes per ją mes galime pateikti užklausas arba HTTP užklausa kitų rūšių, kad viską būtų galima valdyti naudojant minėtą protokolą.
Kita duomenų forma, kuri keliauja per mūsų naršyklę ir nebūtinai yra vartotojo informacija, yra antraštės, kurios gali būti naudojamos kelis kartus, tačiau iš esmės tai yra duomenys, leidžiantys nustatyti naršyklę ir jos laukiamus atsakymus.
PavyzdysPvz., Jei naršyklė nori atsisiųsti turinį paprasto teksto pavidalu, nes mūsų programa taip sutvarkė, turime įsitikinti, kad pateikus užklausą ji bus apdorota paprasto teksto antrašte, taigi sugeneruosime atsakymą, kad naršyklė gali interpretuoti taip.
Bet ne tik tai, kad mūsų programa taip pat gali atsakyti į antraštes, kurias naršyklė interpretuoja taip, kad galėtume apriboti, parodyti ar atlikti bet kokius kitus suderinamus veiksmus, susijusius su vartotoju.
Pavyzdžiui, jei nenorime konkrečios naršyklės (Internet Explorer) pamatyti mūsų paraišką, mes tiesiog paimame antraštę, kurią mums siunčia pradinė užklausa, ir apdorodami vartotojo atstovas mūsų programa nusprendžia, ar minėtai naršyklei rodyti rezultatus.
Objektas prašymas Tai paprasčiausias ir išsamiausias būdas, kurį turime savo viduje Ekspresas kad galėtume manipuliuoti užklausomis, kurios sugeneruojamos naudojant mūsų programą, todėl su šiuo objektu galime užfiksuoti antraštes, vartotojo siunčiamus duomenis ir net Ajax. In Ekspresas galime naudoti kelis objektui priklausančius elementus prašymas Norėdami manipuliuoti duomenimis, pažiūrėkime naudingiausius ir atitinkamą paaiškinimą:
req.paramsŠis objektas leidžia mums gauti maršrutus, pavadinimus ir jų parametrus, jis naudojamas norint gauti daugiau nei visus duomenis, siunčiamus mūsų programos skiltyje.
req.param.nameŠis objektas leidžia mums gauti konkrečios siuntos vertę per POST arba GET, labai naudinga gauti tik vieną iš vertybių.
užklausaTai labai naudinga norint gauti užklausos eilutė URL, jis paprastai yra suporuotas su metodu GET ir reikšmės gaunamos kaip raktinių verčių konfigūracija, net ir šis objektas gali būti naudingas užpildant tam tikros rūšies duomenų bazę redis stiliumi, kai ką paminėti.
req.bodyŠi mūsų objekto specifikacija leidžia užfiksuoti užklausos, pateiktos naudojant šį metodą, turinį POSTTačiau norint, kad mūsų programoje šis objektas būtų naudojamas įprastai, mums reikia tarpinė programinė įranga kad galėtume užfiksuoti šiuos duomenis taip, kad galėtume juos apdoroti.
req.headersŠis objektas gauna antraštes iš kliento, tai yra, tai, ką mes paaiškinome anksčiau, būtų naršyklės siunčiami duomenys.
reik. valŠiuo tikslu galime nustatyti, kokio tipo užklausą gauname, todėl galime žinoti, kad tai buvo a Ajax arba įprasta naršyklės užklausa, tai žinosime, kokio tipo apdorojimą turime atlikti pagal savo programos logiką.
req.urlTokiu būdu galime gauti kliento URL, todėl gausime konkretų maršrutą, kuriuo pasiekiama mūsų programa.
Toliau pateiktame paveikslėlyje pažiūrėkime keletą pavyzdžių, kaip galime naudoti „Express“ skirtingus objektus prašymas kurį apibrėžėme anksčiau:
DIDELIS
Kaip mes matome objektą prašymas yra naudojamas gaunant tiesiogiai, kuriant mūsų programos maršrutą, arba metodu POST arba GET, Mes galime tiesiogiai pasiekti šį objektą ir net jį panaudoję galime iškviesti atsakymą, kuris mus nukreipia į kitą mūsų mokymo programos tašką.Nors ši pamoka yra apie objektą prašymas, objektas atsakymas tai dera kartu su šiuo, nes kai tik gauname užklausą, logiškiausia yra atsiųsti atsakymą ir todėl tam turime naudoti tam tikrą metodą. Toliau pažiūrėkime svarbiausius metodus, kuriuos galime naudoti su atsakymo objektu Ekspresas.
res.status (kodas)Tai turbūt naudingiausias iš mūsų naudojamų metodų Ekspresas, naudodami atsakymo kodą, galime pasakyti naršyklei, ar jos išsiųsta užklausa buvo tinkama, ar apdorojimas buvo teisingas, ar ji neturi leidimo pasiekti tą maršrutą su šia užklausa, šie kodai, kurie yra tvarkomi, yra skaitmeniniai ir standartiniai, geriausiai žinomas yra 200 priėmimas, po to 404 kuris šaltinis nerastas arba 500 kuris yra serverio gedimas.
res.set (laukas, vertė)Naudodami šį metodą galime nusiųsti vertę į naršyklės antraštę, tačiau nerekomenduojama jos naudoti rankiniu būdu.
res.send (body)Tai leidžia mums nusiųsti atsakymą naršyklei arba klientui, jis naudojamas kartu su metodu nustatyti, nes pirmoji nustato vertę ir tuo mes siunčiame siuntą, pavyzdžiui, kurdami konkrečią antraštę, kurią norime naudoti.
res.json ()Šis metodas leidžia mums išsiųsti savo atsakymą forma JSONAS, kaip žinome ar turėtume žinoti, tai yra pagrindinis formatas, kurį turime tvarkyti dirbdami „JavaScript“ nes tai leidžia mums siųsti dokumentus paprastu būdu ir kurie gali būti naudojami kitomis kalbomis.
res.render (rodinys, & # 91, atgalinis skambutis) '] Šis metodas leidžia parodyti Ekspresas, pavyzdžiui, kai sukuriame maršrutą ir jis turi sukurti metodo rodinį perteikti yra atsakingas už šios operacijos atlikimą.
Toliau pateiktame paveikslėlyje pažiūrėkime keletą atsakymo objekto pavyzdžių ir kaip galime tinkamai nusiųsti informaciją savo klientui ar naršyklei.
DIDELIS
Štai paveikslėlyje pastebime, kaip mums iš tikrųjų nereikia objekto prašymas siųsti duomenis klientui, tačiau taip pat galime pamatyti, kaip saugiai objektas atsakymas suteikia mums idėjų, kaip jį sujungti su užklausos objektu, kad būtų atlikti visi ciklai ir turėtume tam tikrą reikšmę mūsų programoje.Nors visa ši teorija yra labai tanki, geriausia pradėti ją suprasti, nes galiausiai ji leis mums priimti geresnius sprendimus kuriant žiniatinklio programas, sukurtas naudojant Ekspresas.
Tuo baigiame šią pamoką, kaip matome objektą prašymas neveikia tik aplinkoje ar ekosistemoje Ekspresas, kadangi paprastai tai priklauso nuo kitų dalykų, tokių kaip naršyklė, HTTP metodai ir, žinoma, kiekviena užklausa sukuria atsakymą, tada objektas pradeda veikti atsakymas Jei norime, kad tai būtų tas, kuris atlieka kitą veiksmą, tai pasiekiame abipusę sąveiką ir taip užbaigiame vidinius mūsų taikymo ciklus.