2017-03-27 4 views
0

現在、MEAN.js Webアプリケーションを設計しています。何らかの理由で、ルートまたはwindow.reloadでページを更新するたびにページを再レンダリングせず、その現在のルートで見つかったJSONファイルのみを返します。 8080 /人:私はローカルホストでよ例えば平均スタックアプリケーション:ページは更新時に再レンダリングされませんが、JSONのみが返されます

私はメインページからこちらをクリックした場合、私はリフレッシュまたはリロードヒットした場合、私は

Picture of home page

を得る。しかし私は、誰がどのなぜこれが起こっているのアイデアと時間を持っています

Picture of result

を取得何らかの理由ページそれを修正するためにおどり?

答えて

1

角度電話のhtml5Mode routingを使用している可能性があります。

pushState and friendsを使用します。これらは、別のページ(別のページ、ユニークで実際のURL)を持つWebアプリケーションを構築できるように設計されたブラウザ機能ですが、ページを変更すると、現在のページのDOMを(状態B)新しいものを最初からロードする。

pushStateと友人の設計意図は、状態Bにマップする一意の実際のURLを要求すると、サーバーは状態BのHTMLをブラウザに直接提供することです。

これはことを意味します。あなたが最初のホームページに行かなくてもサイト上で到着した場合、その後、あなたはホームページをロードしてから修正するよりも高速である(直接ロードしようとしているコンテンツをロード

  • それはJavaScriptで)。あなたはfor many reasonsすることができた(JavaScriptが働かず、サイトに到着した場合
  • 、その後、すべてがまだ動作します。また、Progressive EnhancementUnobtrusive JavaScriptを参照してください。
  • あなたは間違って何をやったか

は、あなたのURLがあなたのJSONにマッピングされていることです

Accept headerを使用してURLをAPIと共有できるようにすることができます(サーバーがJSONまたはHTMLのどちらかを返します)。クライアントが受け入れると言っているもの)

+0

角度ルーティングサービスを使用していますので、これを処理すると思いますか? –

+0

@RonaldDuquette - 角度コードを含むHTML文書を提供しないURLをロードしているので:いいえ(そして、私が記述したように、JSが文書を生成するためのクライアント側のルーティングコードに応じて、pushStateを使用しない点があります。この答えで)。 – Quentin

+0

私はHTTPリクエストにacceptヘッダーを追加しました。ありがとうございました! –

関連する問題