Angularjs Nodejshttp://test.dev:3000/api/profile. 否';访问控制允许原点';标题来源';http://localhost:9000'
NodeJS-Angularjs CORS问题 我对nodeJS的REST POST有问题。休息似乎很好 我看到了典型的信息,似乎无法修复它 无法加载XMLHttpRequest。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为400 NodeJS——我的app.js中有以下设置Angularjs Nodejshttp://test.dev:3000/api/profile. 否';访问控制允许原点';标题来源';http://localhost:9000',angularjs,node.js,express,Angularjs,Node.js,Express,NodeJS-Angularjs CORS问题 我对nodeJS的REST POST有问题。休息似乎很好 我看到了典型的信息,似乎无法修复它 无法加载XMLHttpRequest。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为400 NodeJS——我的app.js中有以下设置 var cors = require('cors') app.use(cors()); // Enables CORS var en
var cors = require('cors')
app.use(cors());
// Enables CORS
var enableCORS = function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With');
// intercept OPTIONS method
if ('OPTIONS' == req.method) {
// res.send(200);
res.sendStatus(200);
}
else {
next();
}
};
// enable CORS!
app.use(enableCORS);
//--------------
服务器日志:
选项/api/profile 204 1.257毫秒--
POST/api/profile 400 65.141 ms-698
NodeJS——路由
Angularjs侧
service
angular.module('testApp').factory('ProfileUpdateService', ['$resource', function($resource) {
return $resource('http://test.dev:3000/api/profile');
}]);
controller
ProfileUpdateService.save('test data', function(data){
console.log('called save on ProfileUpdateService');
});
固定的。看起来我使用了几个cors过滤器。为什么你们都在使用cors模块并手动实现自己的cors支持?你不应该做一个或另一个吗?我猜这两个实现可能会把对方搞砸。特别是你自己对选项的支持可能会弄乱你正在使用的CORS模块。我已经拿出一个,然后进行测试。删除其他测试。同样的问题。我正在通过Nginx。你认为这是一个问题吗?
service
angular.module('testApp').factory('ProfileUpdateService', ['$resource', function($resource) {
return $resource('http://test.dev:3000/api/profile');
}]);
controller
ProfileUpdateService.save('test data', function(data){
console.log('called save on ProfileUpdateService');
});