Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to read response headers in angularjs?

My server returns this kind of header: Content-Range:0-10/0:

enter image description here

I tried to read this header in angular with no luck:

var promise = $http.get(url, {     params: query }).then(function(response) {   console.log(response.headers());   return response.data; }); 

which just prints

Object {content-type: "application/json; charset=utf-8"} 

Any ideas how to access the content range header?

like image 938
UpCat Avatar asked Mar 02 '15 08:03

UpCat


People also ask

How can you read full response in angular?

You can obtain the full response using the observe property and specifying the response value. This way Angular will hand you the full HttpResponse object. Let's see this with an example. We simply import HttpClient from the @angular/common/http package and inject is as httpClient via the service constructor.

What is $HTTP in AngularJS?

$http is an AngularJS service for reading data from remote servers.

What is observe response in angular?

Observe ResponseHttpClient object allows accessing complete response, including headers. In the browser, response body is a JSON object, which can be copied to a typescript interface or class type. Response headers are key/value pairs.

What is $scope in AngularJS?

The $scope in an AngularJS is a built-in object, which contains application data and methods. You can create properties to a $scope object inside a controller function and assign a value or function to it. The $scope is glue between a controller and view (HTML).


1 Answers

Use the headers variable in success and error callbacks

From documentation.

$http.get('/someUrl').   success(function(data, status, headers, config) {     // this callback will be called asynchronously     // when the response is available   })   .error(function(data, status, headers, config) {     // called asynchronously if an error occurs     // or server returns response with an error status.   }); 

If you are on the same domain, you should be able to retrieve the response headers back. If cross-domain, you will need to add Access-Control-Expose-Headers header on the server.

Access-Control-Expose-Headers: content-type, cache, ... 
like image 197
Muhammad Reda Avatar answered Sep 23 '22 20:09

Muhammad Reda