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

我正在尝试将数据发布到在http:// localhost:3000 /上运行的节点服务器。 这里是我的客户端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无法加载http:// localhost:3000 / 。 对预检请求的响应不会通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。 原因'null'因此不被允许访问。

我该如何解决?