使用Angular 7作为前端,Nodejs作为后端。
我使用IIS在Amazon-web-service上部署了一个网站,当我向服务器发出API请求时,一切都很好。
但是,当一个来自中国的客户试图使用相同的网站并发送相同的API时,他会得到No 'Access-Control-Allow-Origin' header is presented on the requested resource
除此之外,他还犯了另一个错误:POST http:... net::ERR_FAILED zone-evergreen.js:2952
什么是zone-evergreen.js
,它如何影响cors策略?
附注
当客户端浏览他的移动的智能电话时,API被成功发送。问题出现在他的计算机设备上。
服务端代码(node.js)如下:
const express = require('express');
const cors = require('cors');
app.use(cors());
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.append('Access-Control-Allow-Headers', 'Content-Type');
next();
})
下面是发送API请求的客户端(Angular 7):
public saveData(data: any): Observable<any> {
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
}),
};
return this.http.post(this.baseUrl + this.apiName, JSON.stringify(data), httpOptions);
}
**错误:**x1c 0d1x
2条答案
按热度按时间bkhjykvo1#
您似乎正在运行CORS策略错误。为了使这项工作,您应该通过您的API启用CORS并重新部署它。
我真的不知道如何修复它在您的情况下,我只是提到你可以研究,所以你可能会修复它为自己。
小心!
ua4mk5z42#
这是因为您的浏览器不信任server.so,请在控制台检查错误,将有一个链接到它的权利。你可以点击它,它会重定向到一个提示。在那里单击
advanced
,然后单击proceed to site.
如果您面临CORS错误,那是因为您的服务器是从非白名单位置访问的。你可以简单地使用
CORS unblock
扩展,这将是在 chrome 商店解锁这一点