Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs XMLHttpRequest无法加载:请求不';无法通过访问控制检查_Angularjs_Node.js_Http Headers - Fatal编程技术网

Angularjs XMLHttpRequest无法加载:请求不';无法通过访问控制检查

Angularjs XMLHttpRequest无法加载:请求不';无法通过访问控制检查,angularjs,node.js,http-headers,Angularjs,Node.js,Http Headers,我正在尝试将数据发布到在上运行的节点服务器。以下是我的客户端AngularJS代码: (function() { 'use strict'; var app = angular.module('myApp'); function SuggestController ($scope, $http) { var onResponse = function(response){ $scope.responseMsg = response.data; c

我正在尝试将数据发布到在上运行的节点服务器。以下是我的客户端AngularJS代码:

(function() {
  'use strict';

  var app = angular.module('myApp');

  function SuggestController ($scope, $http) {

    var onResponse = function(response){
      $scope.responseMsg = response.data;
      console.log(data);
    };

    var onError = function(err){
      $scope.error = err;
    };

    $scope.suggest = function(){

      var new = $.param({
        sS: $scope.Source,
        dD: $scope.Destination
      });

      var config = {
        headers : {
          // 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
          //'crossDomain' : 'true',
          //'Access-Control-Allow-Methods': 'GET, POST',
          'Access-Control-Allow-Origin' : '*',
          'Access-Control-Allow-Credentials' : true
        }
      };

      $http.post("http://localhost:3000/",nRoute, config).
        then(onResponse, onError);
    };
  }

  app.controller('SuggestController', ['$scope', '$http', SuggestController])

}());
在我的NodeJS文件中,我添加了以下代码行:

app.post('/', function(req, res) {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Methods' , 'POST');
  res.setHeader('Access-Control-Allow-Headers' , 'Origin, Content-Type, X-Auth-Token');
  res.setHeader('Content-Type' , 'application/json; charset=utf-8');
  res.setHeader('Access-Control-Allow-Credentials', true);
  console.log(req);
  res.send("Thanks for the Contribution\n");
})
但我得到的信息是:

无法加载XMLHttpRequest。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“null”


我该如何解决这个问题?

这是我的贴身好友,请看一看,它可能会对您有所帮助。。使用CORS插件,它可以帮助您同时在NODEJS中使用您正在使用的标题。。angular正在使用diff语法。。查看我的帖子,这可能有助于好运!现在得到这个SyntaxError:Unexpected token t你能发布你的竞争错误吗?我已经添加了
var cors=require('cors');var-app=express();应用程序使用(cors())到我的nodejs文件,它现在显示TypeError:无效的参数格式