Node js/Angular js - 注意:显示临时标题

这是我的 Angular js 代码:

$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. ');
            });

这是我的 Node.js 块后端:

 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'); });

我只是从 Angular 调用 POST localhost:3000/auth/signup 到 Node,但我得到 **CAUTION : 临时标头已显示.** 在 chrome 控制台中.

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

铬(小心):

Firefox(大约 30/60 秒没有响应,然后出现 alert() :/):

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

这可能是什么?

如果我使用 GET 一切正常,只是使用 POST 我会遇到麻烦,这怎么可能?

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

推荐答案

我个人在 angular 中使用了这个reset"方法:

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 = {};
}]);

相关文章