2017-12-21 39 views
0

これは悪い質問ですが、コードはありませんが、誰かがこれに賛同できることを願っていました。角度:URLを変更してもページが初めてリロードされない

私は角度サイトを持っています。

異なる製品の販売データが読み込まれます。製品名はURLに表示されます

このサイトは、サイト内のリンクからさまざまな製品にうまく機能します。

URLを製品名で直接更新してEnterキーを押すと、サイトがリロードされない場合。私はwhoile URLを選択して、再度ページを読み込むためにEnterキーを押す必要があります。

これはなぜ起こっているのでしょうか?

+0

あなたは私に例を挙げてもらえますか? – DotNet

+0

私の場合、URLには大文字で大文字と小文字を区別するため大文字と小文字が区別されます。 – DotNet

+0

URLのパラメータが変更されているので、役立つかどうかわかりません。 'my-site.co.uk/products/100'のようになり、my-site.co.uk/products/101'に変更してEnterを押すと、 URLをもう一度入力してEnterを押す – ttmt

答えて

1

入力したURLが有効な角度ルートであることをサーバーに伝える方法が必要です。したがって、これらのURLをindex.htmlにマップする必要があります。

私はバックエンドでJava/Springを使用しています。ここで私はそれをやっている。これは、問題を解決:このパスの下に、すべての私のREST APIが利用可能であるため、ここで

@Controller 
public class Routing { 

    @RequestMapping({"/resources/**"}) 
    public String api(final HttpServletRequest request){ 
     String path = (String) request.getAttribute(
       HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE); 
     return path; 
    } 

    @RequestMapping({ "", "/login", "/products/**" }) 
    public String gui() { 
     return "forward:/index.html"; 
    } 
} 

第一の方法は、単に、「/リソース/ **」で始まるパスを返します。 2番目の方法は、Angularルートのindex.htmlに転送します。

index.htmlに転送してもブラウザのアドレスバーのURLは変更されませんが、Angularが制御を開始することに注意してください。

関連する問題