Angularjs XMLHttpRequest无法加载:请求不';无法通过访问控制检查
我正在尝试将数据发布到在上运行的节点服务器。以下是我的客户端AngularJS代码: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
(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:无效的参数格式