【发布时间】:2015-11-21 02:52:07
【问题描述】:
在将数据从 http post 请求返回到我一直在构建的 API 时遇到问题。抛出错误:
XMLHttpRequest 无法加载(此处为 API 的 URL)。不 'Access-Control-Allow-Origin' 标头出现在请求的 资源。因此不允许使用原点“http://localhost:9000” 访问。
这是客户端的 Angular 代码:
$http.post('MyAPI'sURLHere', {date: $scope.information.PubDate})
.then(function(response){
console.log(response);
}, function(error){
console.log(error);
});
这是我的 API 的 Node 服务器端代码:
app.post('/getThing', function(req, res){
var date = req.body.date;
console.log(typeof date);
var query = Overquery
var query2 = "alter session set nls_date_format = 'MM/dd/yyyy'";
console.log(query);
oracleDB.execute(query2, function(err, result){
if(err){
console.log(err.message);
}
else{
console.log(result);
}
});
oracleDB.execute(query, function(err, result){
if(err){
console.log(err.message);
}
else{
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'POST');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
console.log(result.rows);
res.json(result.rows);
}
});
});
第一次构建 API,任何建议和帮助将不胜感激!
【问题讨论】:
-
您为 POST 请求正确设置了 cors 标头,但是,在某些情况下,您可能无法正确响应发布请求之前的 OPTIONS 请求。
标签: javascript angularjs node.js express