2017-01-18 1 views
0

enter image description here私は静かに新しい表現をしています。私は多くを検索し、答えを見つけることができません。 エクスプレスアプリでヘッダーを受信して​​いますが、これらのヘッダーを角度でアクセスできるように設定しようとすると、定義されていません。どのようにハードコーディングされたヘッダーは、クロムのネットワークのタブの角の端に完全に表示されます。ここでは、コードエクスプレスアプリでカスタムヘッダーを動的に設定して角度アプリでアクセスできるようにする

急行コード

var express = require('express'); 
var config = require('./config')[process.env.NODE_ENV || 'dev']; 
var app = express(); 

app.get('/*', function (req, res) { 

res.sendFile(__dirname + '/public/index.html'); 
var token=req.header('x-access-token'); 
//var token='123' 
console.log(token); 
res.set('x-access-token',token); 
}); 

var server = app.listen(process.env.PORT || 3000, function() { 
console.log('server started. Listening on port '+3000); 
}); 

角度コード

$http.get($scope.windowURL 

    ). 
     success(function(data, status, headers, config) { 
      $scope.token=headers('x-access-token') 
      console.log($scope.token); 
      alert($scope.token) 

     }) 
     .error(function(data, status, headers, config) { 
      alert('notoken') 

     }); 

であると明示アプリによって動的に設定されている場合、私は、ヘッダーに '未定義' 取得しています。

+0

ハードコーディングされたヘッダーとはどういう意味ですか? – Roljhon

+0

@Rolijhon上記のコードでtoken = 123の値を設定した場合。 res.set( 'x-access-token'、token)に渡されます。明示的に – Affan

+0

可能であれば、あなたの要求から聞き手のスクリーンショットを提供できますか? 'console.log(token)'は期待通りに出力されますか? – Roljhon

答えて

0

res.sendFile()で応答を終了する前にヘッダーを設定する必要があります。

var express = require('express'); 
var config = require('./config')[process.env.NODE_ENV || 'dev']; 
var app = express(); 

app.get('/*', function (req, res) { 

    var token=req.header('x-access-token'); 
    //var token='123' 
    console.log(token); 
    res.set('x-access-token',token); 
    res.sendFile(__dirname + '/public/index.html'); 
}); 

var server = app.listen(process.env.PORT || 3000, function() { 
    console.log('server started. Listening on port '+3000); 
}); 
関連する問題