访问控制允许来源的错误和angular2
问题描述:
我试图找回这是另一个port.I运行如下访问控制允许来源的错误和angular2
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.
我的服务我得到一个错误服务.ts文件如下提前
答
根据浏览器政策CORS是不允许的。 Howerver如果您使用的是Chrome扩展POSTMAN或应用程序如INSOMINAcors错误不会发生。
如何通过cors错误?
CORS错误应该只能通过服务器端。
请考虑您是否使用将作为您的服务器端。然后在您的应用程序路线中添加以下中间件。
app.use(function(req,res){
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Header' , 'authorization');
});
答
你根本无法
getDeviceInfo(){
let headers = new Headers();
headers.append('Access-Control-Allow-Origin', 'http://localhost:3000',);
headers.append('Access-Control-Allow-Headers','Authorization')
let options = new RequestOptions({
method: RequestMethod.Get,
url: DEVICE_URL,
headers: headers
});
return this.http.request(new Request(options))
.map((res: Response) => res.json());
}
感谢。尝试Oauth从其他网站获取信息/数据。
+0
你是什么意思_你简直不能和这与OAuth有什么关系?这只是CORS问题,可以通过在响应头文件中设置必需的头文件来解决 – Developer
这些标题应该在服务器端没有客户端应用程序设置.. https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS –
有任何替代将它们设置在客户端? – sravanthi
nope ..你应该设置你的服务器端CORS –