0

Backbone/NodeJS アプリケーションに pushstate を実装しようとしています。/testRoute/123別のビューから、ブラウザー自体内で次のルートに移動すると、関連するビューが/testRoute/123読み込まれます。

ただし、アドレス バーに手動で入力する/testRoute/123と、ブラウザーは ID が「123」のオブジェクトの生の JSON フィードを返します。

URL を手動で入力するときに Backbone にビューをロードさせるにはどうすればよいですか?

4

2 に答える 2

0

これは Backbone ができることではありません (pushState がデフォルトで無効になっているのはそのためです)。これらのリクエストをルートにリダイレクトするようにサーバーをセットアップして、HTML が読み込まれ、バックボーンがルートを処理できるようにする必要があります。

これは、バックボーンのドキュメントに記載されています。

実際の URL を使用するには、Web サーバーがそれらのページを正しくレンダリングできる必要があるため、バックエンドの変更も必要になることに注意してください。たとえば、/documents/100 のルートがある場合、ブラウザーがその URL に直接アクセスした場合、Web サーバーはそのページを提供できる必要があります。検索エンジンが完全にクロールできるようにするには、サーバーにページの完全な HTML を生成させるのが最善ですが、それが Web アプリケーションの場合は、ルート URL と同じコンテンツをレンダリングし、残りを Backbone で埋めます。ビューと JavaScript は正常に動作します。

于 2013-07-19T19:40:09.627 に答える