route page change angularjs http angular-resource

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.