Node js / Angular js - CAUTION: Provisional headers are shown

19,567

Solution 1

personaly I use this "reset" method in angular:

app.config(['$httpProvider', function ($httpProvider) {
  //Reset headers to avoid OPTIONS request (aka preflight)
  $httpProvider.defaults.headers.common = {};
  $httpProvider.defaults.headers.post = {};
  $httpProvider.defaults.headers.put = {};
  $httpProvider.defaults.headers.patch = {};
}]);

Solution 2

this was fixed Mar 28, 2014 so it will be ok in next version of crome (v35)

chromium community

Share:
19,567
itsme
Author by

itsme

JS

Updated on June 11, 2022

Comments

  • itsme
    itsme almost 2 years

    This is my Angular js piece code:

    $http({
                    method:'POST',
                    withCredential:true,
                    url:$scope.config.app_ws+'auth/signup',
                    data:{user:$scope.auth}
                }).success(function(status, response){
    
                    console.log(response);
                }).error(function(status, response){
                    alert(response+'Bummer :( , an error occured plese retry later. ');
                });
    

    This is my Node.js piece backend:

     var allow_cross_domain= function(req, res, next) {
          res.header('X-Powered-By', 'hey.heyssssssss.org');
    
          var oneof = false;
          if(req.headers.origin) {
            res.header('Access-Control-Allow-Origin', req.headers.origin);
            oneof = true;
          }
          if(req.headers['access-control-request-method']) {
            res.header('Access-Control-Allow-Methods', req.headers['access-control-request-method']);
            oneof = true;
          }
          if(req.headers['access-control-request-headers']) {
            res.header('Access-Control-Allow-Headers', req.headers['access-control-request-headers']);
            oneof = true;
          }
          if(oneof) {
            res.header('Access-Control-Max-Age', 60 * 60 * 24 * 365);
          }
        // intercept OPTIONS method
        if (oneof && req.method == 'OPTIONS') {
          res.send(200);
        } else {
          next();
        }
        }
    
        app.use(allow_cross_domain);
    
        app.post('/auth/signup', function (req, res) { res.send('wtff'); });
    

    I'm just calling POST localhost:3000/auth/signup from Angular to Node, but i get **CAUTION : Provisional headers are shown.** in chrome console.

    Chrome (CAUTION):

    enter image description here

    Firefox (NO RESPONSE for about 30/60 seconds and then the alert() comes up :/ ):

    enter image description here

    what this could be?

    IF i use GET everything is ok, is just with POST that i get troubles how is that possible?