﻿1
00:00:01,040 --> 00:00:03,600
‫Jonas: Usiamo ora la pagina dell'account utente

2
00:00:03,600 --> 00:00:06,803
‫per consentire agli utenti di aggiornare i propri dati.

3
00:00:08,410 --> 00:00:10,770
‫Quindi quello che faremo è consentire

4
00:00:10,770 --> 00:00:15,030
‫all'utente di aggiornare sia il nome che l'indirizzo email per ora.

5
00:00:15,030 --> 00:00:17,060
‫E aggiungeremo la foto dell'utente qui un

6
00:00:17,060 --> 00:00:18,843
‫po' più avanti nella prossima sezione.

7
00:00:19,826 --> 00:00:23,670
‫Ok, ora ci sono due modi in cui possiamo farlo.

8
00:00:23,670 --> 00:00:27,420
‫Il primo è inviare una richiesta di post alla nostra API

9
00:00:27,420 --> 00:00:31,150
‫proprio come abbiamo fatto con il modulo di accesso, ricordi?

10
00:00:31,150 --> 00:00:33,950
‫E in effetti, lo faremo nella prossima lezione.

11
00:00:33,950 --> 00:00:36,600
‫Ma in questo, voglio mostrarti un

12
00:00:36,600 --> 00:00:39,950
‫altro modo che è un modo normale più tradizionale.

13
00:00:39,950 --> 00:00:41,840
‫Quindi, in questo modo

14
00:00:41,840 --> 00:00:45,150
‫più tradizionale, specifichiamo il metodo di pubblicazione direttamente nel

15
00:00:45,150 --> 00:00:49,710
‫modulo, insieme all'URL a cui deve essere inviata la richiesta di pubblicazione.

16
00:00:49,710 --> 00:00:52,980
‫Quindi, in pratica, usando questo metodo, non abbiamo

17
00:00:52,980 --> 00:00:55,660
‫bisogno di JavaScript per fare la

18
00:00:55,660 --> 00:00:59,450
‫richiesta, succede automaticamente con il modulo HTML che poi

19
00:00:59,450 --> 00:01:03,580
‫invierà i dati all'endpoint URL nel nostro backend che abbiamo specificato.

20
00:01:03,580 --> 00:01:06,980
‫Ora, personalmente, non mi piace molto questa soluzione, perché

21
00:01:06,980 --> 00:01:09,270
‫forza il ricaricamento della pagina e

22
00:01:09,270 --> 00:01:11,200
‫ci richiede anche di creare

23
00:01:11,200 --> 00:01:14,750
‫un'altra route e un gestore di route nel nostro backend.

24
00:01:14,750 --> 00:01:16,830
‫E infine, rende anche un

25
00:01:16,830 --> 00:01:19,120
‫po' più difficile gestire gli errori.

26
00:01:19,120 --> 00:01:22,510
‫Tuttavia, credo ancora che sia molto importante che

27
00:01:22,510 --> 00:01:25,700
‫tu sappia come lavorare con i moduli in

28
00:01:25,700 --> 00:01:27,910
‫questo modo, perché potrebbe

29
00:01:27,910 --> 00:01:30,630
‫avere più senso nell'applicazione che stai creando.

30
00:01:30,630 --> 00:01:34,140
‫Ad esempio, la tua applicazione potrebbe non aver nemmeno bisogno di

31
00:01:34,140 --> 00:01:36,200
‫un'API, quindi in tal caso, quando

32
00:01:36,200 --> 00:01:39,140
‫stai solo costruendo un sito Web renderizzato, ovviamente non

33
00:01:39,140 --> 00:01:41,770
‫ha senso inviare moduli utilizzando una chiamata API

34
00:01:41,770 --> 00:01:43,490
‫e, invece, dovrai fallo nel

35
00:01:43,490 --> 00:01:46,020
‫modo in cui lo faremo in questo video.

36
00:01:46,020 --> 00:01:48,760
‫Va bene, ecco perché lo facciamo in questo

37
00:01:48,760 --> 00:01:50,580
‫modo in questa lezione e

38
00:01:50,580 --> 00:01:53,320
‫poi usiamo il metodo API nella lezione successiva.

39
00:01:53,320 --> 00:01:55,910
‫Quindi, quello che dobbiamo fare

40
00:01:55,910 --> 00:01:57,960
‫nel nostro modulo per

41
00:01:57,960 --> 00:01:59,930
‫inviarlo automaticamente, senza

42
00:01:59,930 --> 00:02:02,030
‫dover passare attraverso JavaScript

43
00:02:02,030 --> 00:02:05,240
‫come ho detto prima, quindi fondamentalmente pubblicando

44
00:02:05,240 --> 00:02:10,240
‫automaticamente i dati sul nostro endpoint, è specificare quell'endpoint, e

45
00:02:10,550 --> 00:02:15,133
‫quindi lo facciamo qui nel form, dove specifichiamo l'attributo action.

46
00:02:17,380 --> 00:02:21,410
‫Quindi l'azione, e quindi diciamo che creeremo

47
00:02:21,410 --> 00:02:26,410
‫un punto finale chiamato invia i dati dell'utente, come questo.

48
00:02:27,740 --> 00:02:30,433
‫Ok, quindi specifichiamo anche il

49
00:02:33,180 --> 00:02:37,400
‫metodo, che è post, okay, quindi questo deve sempre

50
00:02:37,400 --> 00:02:41,310
‫accadere sull'elemento del modulo che stiamo inviando, okay.

51
00:02:41,310 --> 00:02:43,963
‫Diamo un po' più di spazio qui,

52
00:02:45,020 --> 00:02:47,170
‫in modo da renderlo più

53
00:02:47,170 --> 00:02:49,920
‫facile da capire, e quindi tutto questo qui

54
00:02:49,920 --> 00:02:52,500
‫è il nostro modulo, quindi quando

55
00:02:52,500 --> 00:02:56,260
‫clicchiamo su questo elemento pulsante, automaticamente il modulo verrà inviato e

56
00:02:56,260 --> 00:03:01,260
‫i dati verranno inviati utilizzando una richiesta di post a questo URL, va bene.

57
00:03:01,410 --> 00:03:03,540
‫Esistono anche diversi modi in cui

58
00:03:03,540 --> 00:03:06,850
‫i dati vengono effettivamente inviati, ma quello predefinito è chiamato URL

59
00:03:06,850 --> 00:03:09,540
‫codificato, quindi è quello che stiamo usando qui.

60
00:03:09,540 --> 00:03:11,440
‫E quindi fondamentalmente ciò che

61
00:03:11,440 --> 00:03:14,050
‫farà è codificare tutti i dati che stiamo inviando

62
00:03:14,050 --> 00:03:16,650
‫nell'URL un po' come una stringa di query.

63
00:03:16,650 --> 00:03:19,480
‫Ok, ma ne parleremo ancora quando stiamo

64
00:03:19,480 --> 00:03:22,790
‫effettivamente lavorando per ottenere i dati sul server e lavorarci.

65
00:03:22,790 --> 00:03:26,880
‫Quindi, questo è il primo passo per far funzionare questo metodo e

66
00:03:26,880 --> 00:03:30,220
‫il secondo è specificare le proprietà del nome sui

67
00:03:30,220 --> 00:03:32,423
‫campi che vogliamo effettivamente inviare.

68
00:03:33,310 --> 00:03:35,950
‫Quindi è questo input e questo input

69
00:03:35,950 --> 00:03:38,460
‫e i loro valori verranno inviati

70
00:03:38,460 --> 00:03:41,420
‫con una richiesta basata sui loro attributi del nome.

71
00:03:41,420 --> 00:03:46,420
‫Ok, diciamo qui, nome uguale a nome, ok, quindi questo

72
00:03:48,360 --> 00:03:53,180
‫è il nome utente, e poi questo qui avrà

73
00:03:53,180 --> 00:03:56,083
‫il nome uguale a email.

74
00:03:57,680 --> 00:04:01,910
‫Ok, quindi questo sarà il nome di questo campo e il

75
00:04:01,910 --> 00:04:04,370
‫corpo che riceve la nostra applicazione.

76
00:04:04,370 --> 00:04:07,840
‫Va bene, quindi in questo momento quando inviamo il modulo,

77
00:04:07,840 --> 00:04:09,750
‫il corpo che riceveremo avrà

78
00:04:09,750 --> 00:04:12,410
‫solo il nome e l'e-mail, perché questi

79
00:04:12,410 --> 00:04:14,290
‫sono gli unici due

80
00:04:14,290 --> 00:04:16,640
‫campi che hanno effettivamente un attributo nome.

81
00:04:16,640 --> 00:04:20,233
‫Bene, quindi ora implementiamo questo percorso qui, ok, quindi come

82
00:04:21,730 --> 00:04:23,930
‫ho detto con questo metodo, dobbiamo

83
00:04:23,930 --> 00:04:25,993
‫implementare ancora un altro percorso.

84
00:04:28,550 --> 00:04:33,550
‫Ok, allora router, e ricorda che questa è una richiesta postale.

85
00:04:36,200 --> 00:04:40,713
‫Ok, quindi questo sarà in viewsController, e diciamo

86
00:04:44,500 --> 00:04:48,467
‫updateUserData, va bene, salvalo e ora creiamo

87
00:04:54,934 --> 00:04:57,100
‫effettivamente questo gestore.

88
00:04:58,440 --> 00:04:59,993
‫Quindi qui in questo file.

89
00:05:10,580 --> 00:05:12,310
‫E la prima cosa che

90
00:05:12,310 --> 00:05:14,733
‫voglio fare qui è dare un'occhiata al corpo. corpo, okay, e quindi fondamentalmente in questo

91
00:05:19,437 --> 00:05:22,800
‫caso, solo per mostrarti che in realtà non funzionerà proprio così.

92
00:05:22,800 --> 00:05:26,550
‫Ok, e ti dirò perché dopo averlo

93
00:05:26,550 --> 00:05:29,380
‫sperimentato, ok, quindi per

94
00:05:29,380 --> 00:05:33,200
‫ora vediamo solo se siamo già connessi.

95
00:05:33,200 --> 00:05:35,380
‫Quindi, se l'invio di quel

96
00:05:35,380 --> 00:05:38,390
‫modulo attiverà effettivamente questo gestore qui, ok,

97
00:05:38,390 --> 00:05:41,700
‫aggiungiamo anche una stringa qui solo per essere sicuri.

98
00:05:41,700 --> 00:05:43,500
‫Bene, quindi ricarichiamo questo qui

99
00:05:47,620 --> 00:05:50,980
‫in modo da ottenere il nostro nuovo modulo e, solo per

100
00:05:52,040 --> 00:05:54,020
‫essere sicuri, diamo un'occhiata a questo.

101
00:05:54,020 --> 00:05:56,020
‫Va bene, quindi

102
00:05:58,210 --> 00:06:01,080
‫vedi qui, l'azione e il metodo che

103
00:06:01,080 --> 00:06:04,023
‫abbiamo aggiunto, e ovviamente anche questi nomi,

104
00:06:04,870 --> 00:06:09,253
‫ok, quindi aggiungiamo un secondo nome qui, non lo so, diciamo

105
00:06:10,890 --> 00:06:13,010
‫Sarah, quindi qui l'email aggiungiamo

106
00:06:13,010 --> 00:06:17,473
‫il cognome, ora riceviamo questo errore, per favore fornisci e-mail e

107
00:06:19,500 --> 00:06:23,460
‫password, e quindi questo tipo proviene dal modulo di

108
00:06:23,460 --> 00:06:25,730
‫accesso, giusto, quindi è strano.

109
00:06:25,730 --> 00:06:29,063
‫Quindi diamo un'occhiata al nostro modulo qui,

110
00:06:30,770 --> 00:06:34,660
‫e in effetti, questo modulo qui ha la classe form.

111
00:06:34,660 --> 00:06:38,130
‫E penso che sia quello che abbiamo usato anche nel

112
00:06:38,130 --> 00:06:39,270
‫nostro indice. js, giusto.

113
00:06:39,270 --> 00:06:42,377
‫Quindi qui abbiamo praticamente

114
00:06:45,200 --> 00:06:48,070
‫quel modulo usando la classe form, e quando esiste,

115
00:06:48,070 --> 00:06:50,830
‫e viene inviato, allora proviamo ad accedere, proprio qui.

116
00:06:50,830 --> 00:06:54,990
‫Ok, e quindi questo ovviamente non è corretto, quindi dovremmo selezionare

117
00:06:54,990 --> 00:06:58,450
‫il nostro modulo di accesso in qualche altro modo.

118
00:06:58,450 --> 00:07:02,170
‫Quindi risolviamolo molto rapidamente, qui abbiamo login, quindi aggiungiamo

119
00:07:02,170 --> 00:07:03,783
‫un'altra classe qui,

120
00:07:05,310 --> 00:07:10,310
‫form login, e questo è un po' strano perché abbiamo già il

121
00:07:12,300 --> 00:07:14,970
‫form di login qui, ma non è

122
00:07:14,970 --> 00:07:17,460
‫proprio su un elemento del modulo.

123
00:07:17,460 --> 00:07:20,040
‫Quindi non dovremmo usarlo, quindi creiamo

124
00:07:20,040 --> 00:07:23,820
‫qui il modulo con un modificatore di accesso, ok.

125
00:07:23,820 --> 00:07:28,493
‫Quindi mettiamolo qui, diamogli un salvataggio, e quindi ora questo non

126
00:07:31,890 --> 00:07:34,853
‫dovrebbe più accadere, perché ora non abbiamo

127
00:07:36,970 --> 00:07:39,270
‫più quel gestore di eventi allegato

128
00:07:40,270 --> 00:07:42,010
‫a questo modulo.

129
00:07:42,010 --> 00:07:44,173
‫Quindi ricarichiamolo velocemente di nuovo, e

130
00:07:45,120 --> 00:07:48,473
‫riproviamo, e ora vedi che sta effettivamente facendo qualcosa, ma ovviamente

131
00:07:50,953 --> 00:07:53,340
‫non smetterà mai di girare qui, perché

132
00:07:53,340 --> 00:07:56,290
‫in realtà non abbiamo inviato alcuna risposta, e quindi

133
00:07:56,290 --> 00:07:59,470
‫il ciclo di risposta alla richiesta non è mai conclusa.

134
00:07:59,470 --> 00:08:03,160
‫Ma comunque, volevo solo guardare il corpo

135
00:08:03,160 --> 00:08:04,870
‫della richiesta, ricordi?

136
00:08:04,870 --> 00:08:07,680
‫E quindi, come ho detto prima, ora è effettivamente MT.

137
00:08:07,680 --> 00:08:10,853
‫Ok, come dicevo, non funzionerà proprio così, perché

138
00:08:11,960 --> 00:08:15,100
‫abbiamo bisogno di aggiungere un altro

139
00:08:15,100 --> 00:08:18,510
‫middleware per analizzare i dati provenienti da un modulo.

140
00:08:18,510 --> 00:08:21,540
‫Quindi facciamolo nella nostra app. js.

141
00:08:21,540 --> 00:08:23,843
‫Ma prima, chiudiamo qui alcuni di questi file.

142
00:08:24,870 --> 00:08:28,333
‫Va bene, anche questo, e ora vado su app. js, aggiungiamo quella clausola al nostro parser

143
00:08:30,880 --> 00:08:35,880
‫del corpo, quindi eccoci

144
00:08:37,290 --> 00:08:40,373
‫qui, perché in realtà è molto simile.

145
00:08:41,860 --> 00:08:45,273
‫Quindi app. utilizzare, ed è ancora un middleware Express

146
00:08:47,340 --> 00:08:51,423
‫integrato, quindi express. urlencoded, okay, e si chiama in questo modo

147
00:08:52,940 --> 00:08:56,837
‫perché ricorda, il modo in cui

148
00:09:00,280 --> 00:09:03,380
‫il modulo invia i dati al server è in realtà chiamato anche

149
00:09:03,380 --> 00:09:06,830
‫URL codificato, e quindi qui abbiamo bisogno di quel middleware per analizzare fondamentalmente

150
00:09:06,830 --> 00:09:09,000
‫i dati provenienti da un modulo codificato URL.

151
00:09:09,000 --> 00:09:13,440
‫Quindi passiamo ad alcune impostazioni, e possiamo dire extended true, e

152
00:09:13,440 --> 00:09:16,630
‫questo ci permetterà semplicemente di passare alcuni

153
00:09:16,630 --> 00:09:21,630
‫dati più complessi, che in questo caso non sono realmente necessari, ma usiamoli

154
00:09:22,000 --> 00:09:23,720
‫comunque qui, e

155
00:09:23,720 --> 00:09:25,650
‫possiamo anche impostare il limite

156
00:09:25,650 --> 00:09:29,530
‫proprietà come abbiamo fatto nel parser del corpo, quindi qui

157
00:09:29,530 --> 00:09:33,010
‫sopra, e quindi diciamo di nuovo 10 kilobyte.

158
00:09:33,010 --> 00:09:37,113
‫Va bene, quindi se proviamo di nuovo qui, dovremmo

159
00:09:38,930 --> 00:09:42,930
‫davvero ottenere questi dati e questi dati.

160
00:09:42,930 --> 00:09:46,670
‫Aggiungiamo di nuovo questi dati diversi qui, quindi solo per

161
00:09:46,670 --> 00:09:50,370
‫essere sicuri che in realtà non stiano ricevendo l'utente corrente,

162
00:09:50,370 --> 00:09:53,620
‫ma in realtà i dati provenienti dal modulo, ok,

163
00:09:54,480 --> 00:09:56,090
‫e di nuovo continua a

164
00:09:56,090 --> 00:09:57,593
‫girare per sempre

165
00:09:59,820 --> 00:10:02,860
‫qui, o finché non scade, ma ciò che

166
00:10:02,860 --> 00:10:07,720
‫ci interessa è ottenere effettivamente questi nuovi dati qui ora nel nostro corpo.

167
00:10:07,720 --> 00:10:11,850
‫Ottimo, quindi funziona, e quindi ora abbiamo il nostro

168
00:10:11,850 --> 00:10:16,410
‫modulo HTML davvero connesso a questo gestore di route qui.

169
00:10:16,410 --> 00:10:19,920
‫E così ora possiamo andare avanti e aggiornare effettivamente l'utente

170
00:10:19,920 --> 00:10:22,860
‫in base a questi nuovi dati, va bene.

171
00:10:22,860 --> 00:10:25,490
‫Quindi, liberiamoci di questo e

172
00:10:25,490 --> 00:10:29,010
‫quindi aggiorniamo l'utente poiché sappiamo già come farlo.

173
00:10:29,010 --> 00:10:31,610
‫Ora, prima di tutto, dovremo importare

174
00:10:31,610 --> 00:10:33,900
‫il modello utente, quindi facciamolo.

175
00:10:33,900 --> 00:10:37,873
‫Utente, qui con una piccola

176
00:10:39,160 --> 00:10:44,160
‫U, va bene, e quindi ora diciamo

177
00:10:46,930 --> 00:10:51,910
‫che l'utente è uguale ad attendere Utente. findByIdAndUpdate.

178
00:10:51,910 --> 00:10:55,013
‫Bene, ovviamente come

179
00:11:00,780 --> 00:11:04,850
‫sempre, contrassegna questo come asincrono e cattura tutti gli errori.

180
00:11:04,850 --> 00:11:07,473
‫Ora va bene, quindi qual è l'ID che stiamo cercando?

181
00:11:12,920 --> 00:11:17,890
‫E spero che a questo punto tu sappia dove

182
00:11:17,890 --> 00:11:21,120
‫si trova, sarà su richiesta. utente. ID.

183
00:11:21,120 --> 00:11:25,640
‫Oh, e una

184
00:11:25,640 --> 00:11:27,980
‫cosa importante che dobbiamo fare, cosa che

185
00:11:27,980 --> 00:11:30,490
‫non ho ancora fatto, è proteggere effettivamente anche

186
00:11:30,490 --> 00:11:32,600
‫questo percorso qui, ok, perché solo

187
00:11:32,600 --> 00:11:35,430
‫allora abbiamo effettivamente questo utente sulla richiesta, giusto, e

188
00:11:35,430 --> 00:11:38,810
‫ovviamente inoltre vogliamo essere in grado di accedere a questo

189
00:11:38,810 --> 00:11:41,050
‫percorso solo se abbiamo effettuato l'accesso,

190
00:11:41,050 --> 00:11:44,470
‫altrimenti chiunque potrebbe semplicemente andare avanti e aggiornare alcuni dati.

191
00:11:44,470 --> 00:11:46,683
‫Quindi, qui nel

192
00:11:48,210 --> 00:11:50,880
‫percorso, aggiungiamo ovviamente authController. proteggere.

193
00:11:50,880 --> 00:11:53,300
‫Bene,

194
00:11:58,450 --> 00:12:03,390
‫questo è l'ID, quindi abbiamo bisogno dei nuovi dati,

195
00:12:03,390 --> 00:12:08,343
‫quindi diciamo che vogliamo un nome uguale a request. corpo. nome e l'e-mail impostata per la

196
00:12:08,343 --> 00:12:13,320
‫richiesta. corpo. e-mail.

197
00:12:18,710 --> 00:12:23,233
‫E ricorda che questi sono i

198
00:12:25,010 --> 00:12:27,960
‫nomi dei campi, perché abbiamo dato loro l'attributo name nel modulo HTML.

199
00:12:27,960 --> 00:12:31,630
‫Ricorda, ora prima di aggiornare alcuni dati, passavamo l'intera

200
00:12:31,630 --> 00:12:35,470
‫richiesta qui nel metodo di aggiornamento, giusto, ma in

201
00:12:35,470 --> 00:12:37,970
‫questo caso vogliamo solo aggiornare il

202
00:12:37,970 --> 00:12:41,020
‫nome e l'e-mail, quindi così, siamo sicuro

203
00:12:41,020 --> 00:12:44,520
‫che qualsiasi altra cosa venga praticamente rimossa dal

204
00:12:44,520 --> 00:12:47,210
‫corpo, perché alcuni hacker potrebbero ovviamente

205
00:12:47,210 --> 00:12:50,710
‫andare avanti e aggiungere alcuni campi aggiuntivi all'HTML

206
00:12:50,710 --> 00:12:53,040
‫e quindi ad esempio inviare

207
00:12:53,040 --> 00:12:55,770
‫dati come password e cose del genere,

208
00:12:55,770 --> 00:12:58,330
‫e quindi ovviamente lo facciamo non

209
00:12:58,330 --> 00:13:01,020
‫voglio archiviare quei dati dannosi nel

210
00:13:01,020 --> 00:13:03,070
‫nostro database, giusto.

211
00:13:03,070 --> 00:13:06,720
‫Inoltre, le password vengono ancora una volta gestite

212
00:13:06,720 --> 00:13:10,700
‫separatamente, perché ricorda che non possiamo mai aggiornare

213
00:13:10,700 --> 00:13:13,250
‫le password utilizzando findByIdAndUpdate.

214
00:13:13,250 --> 00:13:17,120
‫Di nuovo, perché non eseguirà il middleware sicuro che

215
00:13:17,120 --> 00:13:20,580
‫si occuperà di crittografare le nostre password.

216
00:13:20,580 --> 00:13:23,860
‫Ok, ecco perché abbiamo un percorso separato per quello

217
00:13:23,860 --> 00:13:26,560
‫nella nostra API, e abbiamo anche

218
00:13:26,560 --> 00:13:29,950
‫un percorso separato per quello nella nostra interfaccia utente.

219
00:13:29,950 --> 00:13:32,090
‫E quindi di solito è quello che

220
00:13:32,090 --> 00:13:34,550
‫vedi sempre nelle applicazioni web quando vuoi aggiornare le

221
00:13:34,550 --> 00:13:36,610
‫tue password, di solito hai un modulo

222
00:13:36,610 --> 00:13:38,430
‫separato solo per quello, ok.

223
00:13:38,430 --> 00:13:41,493
‫Ad ogni modo, ora continuiamo qui con le

224
00:13:42,830 --> 00:13:45,373
‫nostre opzioni, dove diciamo che

225
00:13:46,640 --> 00:13:50,063
‫vogliamo ottenere il nuovo, quindi fondamentalmente il documento aggiornato

226
00:13:51,140 --> 00:13:54,463
‫di conseguenza, e anche che vogliamo eseguire i validatori.

227
00:13:55,350 --> 00:13:59,053
‫Quindi è proprio come lo abbiamo fatto prima nella nostra API.

228
00:14:00,500 --> 00:14:03,193
‫Fantastico, quindi chiamiamolo effettivamente aggiornatoUser.

229
00:14:05,410 --> 00:14:08,613
‫Ok, quindi cosa vogliamo fare ora?

230
00:14:12,800 --> 00:14:16,070
‫Bene, dopo aver inviato i dati sul nostro sito

231
00:14:16,070 --> 00:14:18,763
‫Web, in pratica ciò che vogliamo è semplicemente

232
00:14:19,790 --> 00:14:22,350
‫tornare a questa pagina qui, ma ovviamente

233
00:14:22,350 --> 00:14:24,760
‫con i dati aggiornati qui, ok.

234
00:14:24,760 --> 00:14:27,660
‫Quindi è facile, tutto ciò che dovremo fare è sostanzialmente

235
00:14:27,660 --> 00:14:30,170
‫eseguire nuovamente il rendering della pagina dell'account.

236
00:14:30,170 --> 00:14:32,873
‫E quindi è simile a questo, copialo,

237
00:14:34,160 --> 00:14:36,340
‫ok, ma ora c'è in

238
00:14:36,340 --> 00:14:39,900
‫realtà una differenza importante, perché in questo momento, in

239
00:14:39,900 --> 00:14:41,910
‫realtà, abbiamo anche

240
00:14:41,910 --> 00:14:44,120
‫bisogno di passare l'utente, quindi

241
00:14:44,120 --> 00:14:47,600
‫l'utente aggiornato, perché altrimenti, l'utente che il modello sta

242
00:14:47,600 --> 00:14:49,920
‫per utilizzare, è quello che proviene

243
00:14:49,920 --> 00:14:52,190
‫dal middleware di protezione, ricorda, e

244
00:14:52,190 --> 00:14:54,330
‫quindi non sarà l'utente aggiornato.

245
00:14:54,330 --> 00:14:57,223
‫Giusto, quindi dobbiamo passare all'utente aggiornatoUser.

246
00:14:58,720 --> 00:15:03,720
‫Va bene, e quindi, dovrebbe essere sufficiente.

247
00:15:06,050 --> 00:15:08,933
‫Quindi, se ora ricarichiamo questo, o in realtà se ora

248
00:15:10,450 --> 00:15:14,943
‫lo salviamo qui, allora vedi che siamo effettivamente tornati alla stessa identica pagina e i

249
00:15:16,000 --> 00:15:17,890
‫dati sono sempre gli stessi.

250
00:15:17,890 --> 00:15:20,970
‫Quindi dimostriamolo, andiamo in un'altra

251
00:15:20,970 --> 00:15:25,000
‫pagina e poi torniamo alla pagina delle impostazioni.

252
00:15:25,000 --> 00:15:27,450
‫E così, questo dimostra che i dati

253
00:15:27,450 --> 00:15:29,500
‫ora sono stati effettivamente aggiornati.

254
00:15:29,500 --> 00:15:31,603
‫Quindi, se ora effettuiamo il logout,

255
00:15:33,090 --> 00:15:35,440
‫proviamo ad accedere con questa nuova email.

256
00:15:35,440 --> 00:15:37,423
‫Quindi volevo disconnettermi, va bene, e ora accedere di nuovo.

257
00:15:39,530 --> 00:15:44,530
‫E quindi ora useremo questa nuova email, e ovviamente ancora la vecchia

258
00:15:44,950 --> 00:15:47,493
‫password, test1234, e infatti, questo è

259
00:15:48,780 --> 00:15:51,130
‫ora il nuovo indirizzo

260
00:15:53,810 --> 00:15:56,500
‫email che dobbiamo usare per accedere.

261
00:15:56,500 --> 00:15:59,670
‫Ora vediamo solo cosa succede quando passiamo qui

262
00:15:59,670 --> 00:16:01,120
‫dei dati sbagliati.

263
00:16:01,120 --> 00:16:04,860
‫Ad esempio, Google Chrome ci consente di inviare un

264
00:16:04,860 --> 00:16:07,120
‫indirizzo e-mail come questo, ma ovviamente

265
00:16:07,120 --> 00:16:09,530
‫il nostro modello Mongoose non consente

266
00:16:09,530 --> 00:16:11,550
‫un'e-mail con questo formato.

267
00:16:11,550 --> 00:16:14,250
‫E quindi ora dovremmo ricevere un errore,

268
00:16:14,250 --> 00:16:15,950
‫e in effetti, riceviamo

269
00:16:17,620 --> 00:16:20,540
‫questo errore, per favore fornisci un'e-mail valida, ma

270
00:16:20,540 --> 00:16:23,690
‫è un'esperienza utente terribile, giusto, quindi stavamo solo inviando

271
00:16:23,690 --> 00:16:26,530
‫i nostri dati, e poi all'improvviso, siamo andati

272
00:16:26,530 --> 00:16:28,470
‫a una pagina completamente nuova.

273
00:16:28,470 --> 00:16:31,740
‫E in effetti vediamo che siamo arrivati

274
00:16:31,740 --> 00:16:36,740
‫anche a questo nuovo URL, quindi quello a cui abbiamo inviato i dati.

275
00:16:36,850 --> 00:16:39,420
‫E quindi sì, è un po' terribile, e

276
00:16:39,420 --> 00:16:41,470
‫quindi, come dicevo all'inizio, questo

277
00:16:41,470 --> 00:16:43,930
‫modo di fare le cose è in realtà

278
00:16:43,930 --> 00:16:46,420
‫un po' peggiore per la gestione degli errori,

279
00:16:46,420 --> 00:16:48,960
‫che è uno dei motivi per cui personalmente

280
00:16:48,960 --> 00:16:51,840
‫preferisco usare l'API che noi già creato per aggiornare

281
00:16:51,840 --> 00:16:55,640
‫i dati dell'utente, e in generale per fare questo genere di cose.

282
00:16:55,640 --> 00:16:57,740
‫Bene, quindi facciamo

283
00:16:57,740 --> 00:17:00,720
‫esattamente questo nel prossimo video.

