message
変数のJSONコンテンツをNode.jsサーバーからAngularJSクライアントに送信するために、以下のコードを変更する必要がありますか?Node.js res.redirect()にJSONを含む
次のコードは、Node.jsアプリケーションのルーティングファイルにあります。以下のコードはJSONを生成し、ファイルをAngularJSクライアントに送るredirectURL='/'
ハンドラに制御をリダイレクトします。
このトランザクションでは、JSON message
をAngularJSクライアントに送信することが重要です。そのため、AngularJSブラウザアプリはユーザーの一意のIDを保持する必要があります。こうすることで、AngularJSブラウザアプリケーションからの後続のリクエストは、このNode.jsアプリケーションの何百ものクローンのいずれかによって処理され、各クローンは、リクエストごとに受信したJSONを使用してRedisクラスタに接続し、リクエスト。これにより、Node.jsがユーザーIDを覚えておく必要がなくなります。
app.get('/some_endpoint', function(req, res) {
var redirectURL = '/';
request.post(otherServerUrl, function(err, response, body){
if(err){console.log('ERROR with token request.')}
var data = JSON.parse(body);
getUser(data.access_token).then(function(message) {
console.log('in callback, jwtJSON is: ');console.log(message);
res.redirect(redirectURL);
});
});
});
app.get('*', function(req, res) {
res.sendfile('./public/index.html'); // load the single view file (angular will handle the front-end)
});
app.get('*', function(req, res)
ニーズもapp.get('/some_endpoint', function(req, res)
からリダイレクトので、ブラウザアプリに送信するサーバーで任意のmessage
JSONを持っていないされていないユーザからの要求にサービスを提供することができるようにすることに注意してください。あなたが何をしようとしていることは、リダイレクトからロードされるページに情報を渡すことであれば、それを行うための通常の方法は、リダイレクトURLのクエリパラメータなどの情報を符号化することである
あなたの質問を正しく理解していれば、フロントエンドがメッセージ変数の内容を受信していないと言っていますか? – gca
'res.redirect(redirectURL)'を 'res.json(message)'に変更しますか? – jfriend00
@AnveshCheckaはい、正しく理解しています。 Angularアプリはindex.htmlを受け取るだけです。 – FirstOfMany