84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
『Advanced JavaScript Programming (Third Edition)』の 492 ページを見たとき、質問がありました。
「偽の」URL を使用して更新すると、404 エラーが返されます。Web サーバー上にこのような実際のリンクがない限り、ユーザーは必然的にページを更新する必要があります。本当に更新したいですか?作ってみませんか? 実ファイルは実リンクに相当します では、pushState() は何を使うのでしょうか? 非常に不便ではありませんか?
人生最曼妙的风景,竟是内心的淡定与从容!
pushState 質問に答えるために、主に SPA アプリケーションで使用されます:
pushState
404が表示されます。これは、PushState モードでは URL に # がなく、ブラウザーが実際にサーバーへのリクエストを開始し、サーバー上にこのパスに対応するリソースがないためです。
しかし、サーバー上に実際のリンクを持つ必要はありません (死ぬほど疲れます)。存在しないページ (404) がルート ルートにリダイレクトされるようにサーバー構成を変更するだけで済みます。
Tomcat を例に挙げると、設定は非常に簡単です。次の設定をプロジェクトの web.xml に追加するだけです。 リーリー
更新を押すと、現在のブラウザの URL を含むリクエストがサーバーに送信されます。
たとえば、pushState() を使用して現在のアドレスをboomshaklaka.com/boomに変更した場合 [更新]をクリックした後、サーバーはこのアドレスを受信し、そのアドレスが存在しないことが判明すると 404 を返します。
まず、フロントエンド ルーティングとバックエンド ルーティングの違いを理解する必要があります。
バックエンドルーティングのみの場合、リクエストしたすべてのページはバックエンドによって返されます。現時点では、すべてのルーティングはバックエンドによって制御されます。
ただし、SPA アプリケーションなど、ページを更新したくないが、URL も変更したい場合があります。現時点ではフロントエンドルーティングが必要であり、このpushStateがこの役割を果たします。
まず第一に、私はまだバックグラウンドでのルーティングの処理に慣れています。例としてバックグラウンド ルーティングを使用します。
リーリー
HTML ファイルでは、history.pushState() メソッドがブラウザ履歴に状態を追加します。
pushState
質問に答えるために、主に SPA アプリケーションで使用されます:404が表示されます。これは、PushState モードでは URL に # がなく、ブラウザーが実際にサーバーへのリクエストを開始し、サーバー上にこのパスに対応するリソースがないためです。
しかし、サーバー上に実際のリンクを持つ必要はありません (死ぬほど疲れます)。存在しないページ (404) がルート ルートにリダイレクトされるようにサーバー構成を変更するだけで済みます。
Tomcat を例に挙げると、設定は非常に簡単です。次の設定をプロジェクトの web.xml に追加するだけです。 リーリー
このようにして、Tomcat はリソースが見つからないすべてのパスをルート パスにリダイレクトするため、フロントエンド フレームワークは、それが angular/vue/react/backbone であっても、要求された URL をフロントで独自に処理できます。 -終わり。更新を押すと、現在のブラウザの URL を含むリクエストがサーバーに送信されます。
たとえば、pushState() を使用して現在のアドレスをboomshaklaka.com/boomに変更した場合
[更新]をクリックした後、サーバーはこのアドレスを受信し、そのアドレスが存在しないことが判明すると 404 を返します。
まず、フロントエンド ルーティングとバックエンド ルーティングの違いを理解する必要があります。
バックエンドルーティングのみの場合、リクエストしたすべてのページはバックエンドによって返されます。現時点では、すべてのルーティングはバックエンドによって制御されます。
ただし、SPA アプリケーションなど、ページを更新したくないが、URL も変更したい場合があります。現時点ではフロントエンドルーティングが必要であり、このpushStateがこの役割を果たします。
まず第一に、私はまだバックグラウンドでのルーティングの処理に慣れています。例としてバックグラウンド ルーティングを使用します。
まず、プロジェクト内のどのファイルを関連付けるかは、あなた次第ですリーリー
異なるアクションが同じページをポイントできるため、ウェブサイトには少なくとも 1 つのページが必要ですリーリー
記事内で言及されている404については、ルーティング方向に問題があり、リソースが見つからないため、まだ残っています。