8
respostas

Get Headers Angular2

Alguem sabe como eu pego o valor de um elemento do header de resposta?

Tendei os dois métodos abaixo o primeiro da error e o segundo vem null.

res.headers('content-type');
res.headers.get('content-type');
8 respostas

O segundo que retornou null, acho que foi porque você escreveu errado o Content-Type. Tem que respeitar as caixas altas e baixas.

Sim eu sei, foi só um exemplo que eu fiz na realidade queria pega o x-access-token, e verifiquei se ele estava realmente retornando... tudo perfeito apenas não consigo pega o valor

Nenhum header você consegue ? Pode colar o código mais completo no contexto que você pega a header?

Seu server esta liberando Access-Control-Expose-Headers ? Se não estiver , eles não estaram disponíveis para o Angular.

Como faço isso? Ele está enviando o token porém só não consigo pega nem um item do headers.

var express = require('express')
    ,app = express()
    ,consign = require('consign')
    ,bodyParser = require('body-parser')
    ,path = require('path')
    ,cors = require('cors');

module.exports = function() {
    app.set('secret', 'palavrasecretanaooriginal');

    app.use(function(req, res, next) {
        res.header("Access-Control-Allow-Origin", "*");
        res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
        res.header('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS');
        res.setHeader("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With, x-access-token");
        next();
    });

    app.use(cors());
    app.use(bodyParser.json());
    app.use(express.static('./public'));

    consign({ cwd: 'app'})
        .include('models')
        .then('api')
        .then('routes/auth.js')
        .then('routes')
        .into(app);

    app.all('/*', function(req, res) {
        res.sendFile(path.resolve('public/index.html'));
    });


    return app;
}

Meu config

Então , você esta expondo os headers. Bizarro...é a ausencia de Access-Control-Allow-Headers que não permitiria acesso aos dados do header.

Faça

res.header("Control-Allow-Headers", "*");

pior que também não funciono.