Broken AngularJS $ http Headers

I am trying to add a custom header to an HTTP request, but AngularJS does not seem to handle it. Here is my code:

$http({
    method: "GET",
    url: 'http://localhost:8080/Schedule-service/login',
    headers: {
        'X-AUTHENTICATION': 'TRUE'
    }
}).success(function (response) {
    $cookies[constants.TOKEN] = response.hash;
}).error(function (data, status, headers, config) {

});

I tried adding this to the default headers, but still nothing. What is wrong here?

Edit: My request is in the middle of the GET:

Request URL:http://localhost:8080/Schedule-service/login
Request Headers CAUTION: Provisional headers are shown.
Access-Control-Request-Headers:accept, x-authentication
Access-Control-Request-Method:GET
Origin:http://localhost
Referer:http://localhost/ScheduleWebClient/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)     Chrome/32.0.1700.76 Safari/537.36

And after GET:

Request URL:http://localhost:8080/Schedule-service/login
Request Method:OPTIONS
Status Code:200 OK
Request Headersview source

Request Headers:

Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4
Access-Control-Request-Headers:accept, x-authentication
Access-Control-Request-Method:GET
Connection:keep-alive
Host:localhost:8080
Origin:http://localhost
Referer:http://localhost/ScheduleWebClient/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)     Chrome/32.0.1700.76 Safari/537.36

Response Headers:

Access-Control-Allow-Headers:origin, content-type, accept, x-requested-with, sid,   mycustom, smuser
Access-Control-Allow-Methods:GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin:*
Allow:GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH
Content-Length:0
Date:Fri, 24 Jan 2014 20:33:23 GMT
Server:GlassFish Server Open Source Edition 3.1.2.2
Set-Cookie:JSESSIONID=5f4fc0d1318a2e63cd1ca9170386; Path=/Schedule-service; HttpOnly
X-AUTHENTICATION:*
X-Powered-By:Servlet/3.0 JSP/2.2 (GlassFish Server Open Source Edition 3.1.2.2 Java/Oracle Corporation/1.7)
+4
source share
1 answer

It seems you are executing a CORS request and the request you inserted is a preflight request. The application works with port 80, but you call the service on port 8080, therefore, its cross origin is CORS. In the answer above, you see that the server will accept x-requested-with header

Access-Control-Allow-Headers:origin, content-type, accept, x-requested-with.

The title should be visible in the next request.

0

Source: https://habr.com/ru/post/1523587/


All Articles