angularjs - page - change title angular 4
¿Cómo acceder a los encabezados de respuesta usando $ resource en Angular? (3)
La respuesta de @Martin funciona para las mismas solicitudes de dominio. Así que me gustaría agregar a su respuesta que si está utilizando solicitudes de dominios cruzados, tendrá que agregar otro encabezado con Access-Control-Expose-Headers: X-Blah, X-Bla
junto con Access-Control-Allow-Origin:*
cabecera.
donde X-Blah
y X-Bla
son encabezados personalizados.
Además, no es necesario utilizar la solicitud de transformación para obtener los encabezados. Puede utilizar este código:
var resource = $resource(''/api/v1/categories/:id'')
resource.get({id: 1}, function(data, headersFun){
console.log(data, headersFun());
})
Ver this violín. Espero que esto ayude !!!
Básicamente llamo get
solicitudes de get
así
var resource = $resource(''/api/v1/categories/:id'')
resource.get({id: 1}).$promise.then(function(data){
console.log(data)
})
Esto funciona bien ... pero ¿cómo obtengo los encabezados de respuesta?
Podría usar la acción transformResponse definida aquí, esto le permitiría agregar los encabezados
$resource(''/'', {}, {
get: {
method: ''GET'',
transformResponse: function(data, headers){
response = {}
response.data = data;
response.headers = headers();
return response;
}
}
Vea un ejemplo de trabajo aquí JSFiddle
Pregunta antigua, pero creo que vale la pena mencionarlo para futuras referencias. Hay una solución ''oficial'' para esto en la documentación angular:
Vale la pena señalar que la devolución de llamada exitosa para obtener, consultar y otros métodos se pasa en la respuesta que proviene del servidor, así como en la función de obtención de encabezado $ http, por lo que se podría volver a escribir el ejemplo anterior y obtener acceso a los encabezados http como:
var User = $resource(''/user/:userId'', {userId:''@id''});
var users = User.query({}, function(users, responseHeaders){
// ...
console.log(responseHeaders(''x-app-pagination-current-page''));
});
(código de documentos ligeramente actualizado para mayor claridad)
Para las solicitudes CORS, se requiere exponer los encabezados como se menciona en otras respuestas.