Heim Web-Frontend js-Tutorial Detaillierte Erläuterung der Lösung des Problems der Aktualisierung und des Verschwindens von Vue-Router-Routing-Parametern

Detaillierte Erläuterung der Lösung des Problems der Aktualisierung und des Verschwindens von Vue-Router-Routing-Parametern

Jul 04, 2017 pm 03:04 PM
vue-router 刷新 消失

In diesem Artikel wird hauptsächlich die Lösung für das Problem des Verschwindens von Vue-RouterRouting-Parametern vorgestellt. Interessierte Freunde können sich auf das

-Szenario beziehen Von Vue-Router implementierte Einzelseitenanwendung. Nachdem die Anmeldeseite die Anmeldeschnittstelle aufgerufen hat, gibt der Server die Benutzerinformationen zurück und leitet sie dann über router.push({name: 'index', params: res.data})-Komponente und zeigt Daten auf der Startseite an. Aber nach dem Aktualisieren der Seite verschwanden die Daten.

Lösung:

1, Sitzung& Server-Rendering

Die herkömmliche Lösung besteht darin, dass die Anmeldeseite und die Homepage zwei separate Seiten sind. Nach erfolgreicher Anmeldung generiert der Server eine Sitzung, die den Benutzerinformationen entspricht, rendert dann die Homepage-Daten und übergibt die Sitzungs-ID über den Antwortheader an den Browser die entsprechende Cookie-Datei. Auf diese Weise bringt der Browser bei der nächsten Seitenanforderung das entsprechende Cookie in den HTTP-Header und der Server ermittelt dann anhand der Sitzungs-ID im Cookie, ob der Benutzer angemeldet ist, und zeigt dann die Benutzerdaten an .
Wenn das Projekt die Idee der Front-End- und Back-End-Trennung übernimmt und der Server nur Schnittstellen bereitstellt und kein Server-Rendering durchführt, funktioniert diese Methode nicht.

2. $route.query

Wir können die Parameter der Anmeldeanforderung mitbringen, wenn die Route springt:

router.push({name:'index', query:{username: 'xxx', password: 'xxxxxx'}})
...
this.$ajax({
 url: 'xxx',
 method: 'post',
 data: {
  username: this.$route.query.username,
  password: this.$route.query.password
 }
})
Nach dem Login kopieren

Auf diese Weise werden die Anmeldeparameter in der URL gespeichert, etwa so: „http://xxx.xxx.xxx/index?username=xxx&password=xxxxxx“, und dann wird die Anmeldeschnittstelle in der erstellten Datei aufgerufen Hook, um die Daten zurückzugeben.

Selbst wenn das Passwort MD5-verschlüsselt ist, ist es definitiv unvernünftig, vertrauliche Informationen wie Benutzername und Passwort in die URL aufzunehmen.

3. Cookie

Eine andere Möglichkeit besteht darin, die Anmeldeparameter im Cookie zu speichern und dann die im Cookie gespeicherten Informationen abzurufen Erstellter Hook. Rufen Sie dann die Login-Schnittstelle auf. Es ist auch unzumutbar, den Benutzernamen und das Passwort in einem Cookie zu speichern. Die verbesserte Version besteht darin, dass der Server nach erfolgreicher Anmeldung ein Token zurückgibt und die Benutzerdaten innerhalb der Gültigkeitsdauer über das Token abgerufen werden.

Der Zugriff auf Daten durch Cookies ist problematischer, da das Schlüssel-Wert-Paar im Cookie eine Zeichenfolge ist und mit „=" verknüpft ist, was zusätzliche Methoden zum Betrieb des Cookies erfordert.

<script>
 function setCookie (name, value, exdays) {
  let date = new Date()
  date.setTime(date.getTime() + (exdays * 24 * 60 * 60 * 1000))
  let expires = "expires=" + date.toGMTString()
  document.cookie = name + "=" + value + "; " + expires
 }
 function getCookie (name) {
  name = name + "="
  let cookieArr = document.cookie.split(&#39;;&#39;)
  for (let i = 0; i < cookieArr.length; i++) {
   let cookie = cookieArr[i].trim()
   if (cookie.indexOf(name) === 0) {
    return cookie.slice(name.length)
   }
  }
  return ""
 }
Nach dem Login kopieren

4. HTML5-Webspeicher

Wenn es um Webspeicher geht, muss ich unbewusst denken, dass viele Browser ihn nicht unterstützen Tatsächlich unterstützen IE8 und alle oben genannten Systeme localStorage und sessionStorage. Das Vue-Projekt unterstützt mindestens IE9, sodass Sie Webspeicher bedenkenlos nutzen können.

LocalStorage hat keine zeitliche Begrenzung für die Speicherung von Daten und sie werden nicht ungültig, es sei denn, sie werden aktiv gelöscht. SessionStorage wird ungültig, wenn die Seite oder der Browser geschlossen wird, was für dieses Szenario geeignet ist.

Wir können die Token-Informationen in sessionStorage speichern und dann bei jeder Aktualisierung der Seite Daten über das Token anfordern. Da das Token jedoch lokal gespeichert werden kann, warum nicht einfach häufig verwendete Daten direkt dort speichern? der Einheimische? Durch die Nutzung lokaler Daten können Client-Netzwerkanfragen reduziert und die Serverlast verringert werden.

Da localStorage und sessionStorage schreibgeschützt sind, können sie nicht direkt auf ein Objekt verwiesen werden. Sie können Object.assign() nicht zum Kopieren des Objekts verwenden, da der Wert zur Zeichenfolge „[object Object]“ wird, sodass Sie Attribute nur durch Schleifen zu sessionStorage hinzufügen können.

...
for (var key in res.data.customer) {
 sessionStorage[key] = res.data.customer[key]
} 
...
Nach dem Login kopieren

Die oben genannten Probleme sind bei meiner letzten Arbeit aufgetreten. Die endgültige Lösung bestand darin, sessionStorage zum Speichern von Daten zu verwenden.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Lösung des Problems der Aktualisierung und des Verschwindens von Vue-Router-Routing-Parametern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

6 Möglichkeiten, Webseiten auf dem iPhone zu aktualisieren 6 Möglichkeiten, Webseiten auf dem iPhone zu aktualisieren Feb 05, 2024 pm 02:00 PM

Wenn Sie auf Ihrem iPhone im Internet surfen, werden die geladenen Inhalte vorübergehend gespeichert, solange die Browser-App geöffnet bleibt. Da die Website jedoch regelmäßig Inhalte aktualisiert, ist die Aktualisierung der Seite eine effektive Möglichkeit, alte Daten zu löschen und die neuesten veröffentlichten Inhalte anzuzeigen. So verfügen Sie immer über die neuesten Informationen und Erfahrungen. Wenn Sie die Seite auf dem iPhone aktualisieren möchten, erklärt Ihnen der folgende Beitrag alle Methoden. So aktualisieren Sie Webseiten in Safari [4 Methoden] Es gibt mehrere Methoden, um die Seiten zu aktualisieren, die Sie in der Safari-App auf dem iPhone anzeigen. Methode 1: Verwenden Sie die Schaltfläche „Aktualisieren“. Der einfachste Weg, eine in Safari geöffnete Seite zu aktualisieren, besteht darin, die Option „Aktualisieren“ in der Registerkartenleiste Ihres Browsers zu verwenden. Wenn Safa

Die F5-Aktualisierungstaste funktioniert unter Windows 11 nicht Die F5-Aktualisierungstaste funktioniert unter Windows 11 nicht Mar 14, 2024 pm 01:01 PM

Funktioniert die F5-Taste auf Ihrem Windows 11/10-PC nicht richtig? Die F5-Taste wird normalerweise verwendet, um den Desktop oder Explorer zu aktualisieren oder eine Webseite neu zu laden. Einige unserer Leser haben jedoch berichtet, dass die F5-Taste ihre Computer aktualisiert und nicht richtig funktioniert. Wie aktiviere ich die F5-Aktualisierung in Windows 11? Um Ihren Windows-PC zu aktualisieren, drücken Sie einfach die Taste F5. Auf einigen Laptops oder Desktops müssen Sie möglicherweise die Tastenkombination Fn+F5 drücken, um den Aktualisierungsvorgang abzuschließen. Warum funktioniert die F5-Aktualisierung nicht? Wenn das Drücken der F5-Taste Ihren Computer nicht aktualisiert oder Probleme unter Windows 11/10 auftreten, kann dies daran liegen, dass die Funktionstasten gesperrt sind. Weitere mögliche Ursachen sind die Tastatur oder die F5-Taste

So lösen Sie das Problem, dass in Windows 10 alle Desktopsymbole verschwinden So lösen Sie das Problem, dass in Windows 10 alle Desktopsymbole verschwinden Dec 25, 2023 pm 04:55 PM

Ich weiß nicht, ob Sie jemals morgens aufgewacht sind und den Computer eingeschaltet haben und festgestellt haben, dass alle Desktopsymbole auf dem Computer verschwunden sind. Es kann sein, dass Ihre Tastenkombinationen gelöscht wurden Desktop-Symbole können direkt im Papierkorb wiederhergestellt werden. Wenn nicht, können Sie auch die Methode zur Anzeige des wiederherzustellenden Symbols überprüfen. Wiederherstellungsmethode für alle verschwundenen Win10-Desktopsymbole 1. Wenn nur noch ein Papierkorb auf dem Desktop vorhanden ist, haben Sie möglicherweise alle Tastenkombinationen zum Ändern von Gesichtern gelöscht. Zu diesem Zeitpunkt können Sie auf den Papierkorb klicken, um zu sehen, ob Sie eine Verknüpfung zum Löschen finden. 2. Wenn Sie die von Ihnen gelöschten Verknüpfungen sehen, wählen Sie alle Verknüpfungen aus, klicken Sie mit der rechten Maustaste und wählen Sie „Wiederherstellen“. 3. Sie können auch direkt mit der rechten Maustaste klicken und auf „Löschen rückgängig machen“ klicken. so alles

In meiner Vue-Anwendung ist der Vue-Router-Fehler „NavigationDuplicated: Vermeidung redundanter Navigation zum aktuellen Standort' aufgetreten. Wie kann ich ihn beheben? In meiner Vue-Anwendung ist der Vue-Router-Fehler „NavigationDuplicated: Vermeidung redundanter Navigation zum aktuellen Standort' aufgetreten. Wie kann ich ihn beheben? Jun 24, 2023 pm 02:20 PM

Der Vue-Router-Fehler „NavigationDuplicated:Avoidedredundantnavigationtocurrentlocation“ ist in der Vue-Anwendung aufgetreten – wie kann er behoben werden? Vue.js wird als schnelles und flexibles JavaScript-Framework in der Front-End-Anwendungsentwicklung immer beliebter. VueRouter ist eine Codebibliothek von Vue.js, die für die Routing-Verwaltung verwendet wird. Allerdings manchmal

Der drahtlose Netzwerkadapter für Win7 fehlt Der drahtlose Netzwerkadapter für Win7 fehlt Dec 23, 2023 pm 05:57 PM

Viele Benutzer haben berichtet, dass der Win7-WLAN-Adapter verschwunden ist. In diesem Fall liegt wahrscheinlich ein Problem mit der Netzwerkkarte oder dem Netzwerkkartentreiber vor. Wir müssen nur den Netzwerkkartentreiber reparieren oder eine gute Netzwerkkarte ersetzen das Problem lösen. Der drahtlose Netzwerkadapter ist in Win7 verschwunden. 1. Klicken Sie zunächst mit der rechten Maustaste auf die Schaltfläche „Start“ und wählen Sie „Geräte-Manager“. 2. Dann suchen wir den „Netzwerkadapter“, klicken mit der rechten Maustaste und wählen, ob Sie zuerst den Treiber aktualisieren oder das Gerät zuerst deaktivieren möchten und aktivieren Sie es dann. Sie können auch hier auf „Eigenschaften“ klicken. 3. Nachdem Sie auf „Eigenschaften“ geklickt haben, klicken Sie oben auf „Treiber“, klicken Sie hier auf „Treiber aktualisieren“ 4. Klicken Sie hier und wählen Sie „Treiberdateien automatisch suchen und aktualisieren“ 5. Nach Abschluss Sie können auch das Netzwerk des Computers ändern und zurücksetzen. Drücken Sie zunächst „Win“.

Wie kann ich eine Webseite schnell aktualisieren? Wie kann ich eine Webseite schnell aktualisieren? Feb 18, 2024 pm 01:14 PM

Bei der täglichen Nutzung eines Netzwerks kommt es häufig zu Seitenaktualisierungen. Wenn wir eine Webseite besuchen, treten manchmal Probleme auf, z. B. wenn die Webseite nicht geladen wird oder nicht ordnungsgemäß angezeigt wird. Zu diesem Zeitpunkt entscheiden wir uns normalerweise dafür, die Seite zu aktualisieren, um das Problem zu lösen. Wie kann die Seite also schnell aktualisiert werden? Lassen Sie uns die Tastenkombinationen für die Seitenaktualisierung besprechen. Die Tastenkombination für die Seitenaktualisierung ist eine Methode zum schnellen Aktualisieren der aktuellen Webseite über Tastaturoperationen. In verschiedenen Betriebssystemen und Browsern können die Tastenkombinationen für die Seitenaktualisierung unterschiedlich sein. Im Folgenden verwenden wir das gebräuchliche W

Ein Artikel, der das Vue-Routing im Detail erklärt: vue-router Ein Artikel, der das Vue-Routing im Detail erklärt: vue-router Sep 01, 2022 pm 07:43 PM

In diesem Artikel erhalten Sie eine detaillierte Erklärung des Vue-Routers im Vue-Familien-Bucket und erfahren mehr über die relevanten Routing-Kenntnisse. Ich hoffe, er wird Ihnen hilfreich sein!

Vue und Vue-Router: Wie teilt man Daten zwischen Komponenten? Vue und Vue-Router: Wie teilt man Daten zwischen Komponenten? Dec 17, 2023 am 09:17 AM

Vue und Vue-Router: Wie teilt man Daten zwischen Komponenten? Einführung: Vue ist ein beliebtes JavaScript-Framework zum Erstellen von Benutzeroberflächen. Vue-Router ist der offizielle Routing-Manager von Vue, der zur Implementierung von Single-Page-Anwendungen verwendet wird. In Vue-Anwendungen sind Komponenten die Grundeinheiten zum Erstellen von Benutzeroberflächen. In vielen Fällen müssen wir Daten zwischen verschiedenen Komponenten austauschen. In diesem Artikel werden einige Methoden vorgestellt, die Ihnen beim Datenaustausch in Vue und Vue-Router helfen

See all articles