私は、このリンクをクリックすると、ユーザーの電子メールに送信した'localhost:3000/verify/a5d5sd'のようなURLを持っています。 、私は、サーバーとデータベース(MongoDB)のいくつかのものをチェックし、オブジェクトを使って応答を返すためにリンクのparam(a5d5sd)を使用しています。リンクがクリックされたり新しいタブで開くと、私のAngular 2コンポーネントからのHTMLではなく、サーバーからのものです。AngularとNodeJS GETリクエストurl(params付き)はレスポンスオブジェクトのみを返すHTML
私の角度2ルートの設定モジュールでは、私は
{
path: 'verify/:id',
component: MyComponent
},
のようなルートをconfigコン行なったし、このコンポーネントのngOnInitに、私はのようなURLでGET HTTPリクエストを確認しますサービスメソッドを呼び出しています/:idparam(:id)私はリクエストを行うことができるように、@ angular/routerからActivatedRouteを使って取得します。
は私の急行を使用するために、私は次のコードを持っているようにアドバイスしてこれを処理するには、次のapp.use(express.static(path.join(__dirname, 'client/dist')));
app.get('*', function(req, res) {
res.sendFile(__dirname + '/client/dist/index.html');
})
さえしてみました:URLon
このコードは、直接のナビゲーションのために働くapp.all('*', function(req, res) {
res.sendFile(__dirname + '/client/dist/index.html');
})
(貼り付け検索バー)を更新し、POSTとPUTリクエストのみをリフレッシュします。GETリクエストはresp私は直接URLにアクセスしたり、ページをリフレッシュするときに、DOMはサーバーレスポンスで書かれていますが、HTMLではなく、何か助けていただければ幸いです。
あなたはそれが問題のルートの順序だと言っていますか? – Teebo
はい。私はそう思う。他のルート定義の上に*を追加すると、ノードは*ルートにのみヒットします。 –
さて、私は実際に解決策をテストすることはできませんが、上記の*を移動しましたか、あなたのケースでは機能しません。 – Teebo