Angular 否';访问控制允许原点';请求的资源-ionic 2应用程序上存在标头

Angular 否';访问控制允许原点';请求的资源-ionic 2应用程序上存在标头,angular,http,typescript,ionic-framework,cors,Angular,Http,Typescript,Ionic Framework,Cors,当我尝试使用POST请求访问本地服务器时,收到以下错误: 无法加载XMLHttpRequest。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“” 我的服务器允许CORS,因为我已经通过向邮递员发送请求对其进行了测试,并且可以正常工作 以下是我在前端的代码: private头文件=新头文件({ “访问控制允许来源”:“*”, “访问控制允许方法”:“获取、发布、选项、放置、修补、删除”, “访问控制允许标头”:“X-Requested-Wit

当我尝试使用POST请求访问本地服务器时,收到以下错误:

无法加载XMLHttpRequest。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”

我的服务器允许CORS,因为我已经通过向邮递员发送请求对其进行了测试,并且可以正常工作

以下是我在前端的代码:

private头文件=新头文件({
“访问控制允许来源”:“*”,
“访问控制允许方法”:“获取、发布、选项、放置、修补、删除”,
“访问控制允许标头”:“X-Requested-With,内容类型”,
“访问控制允许凭据”:true
});
登录后(数据){
控制台日志(数据);
返回新承诺((解决)=>{
this.http.post(this.api+“users/login”,数据,{headers:this.headers})
.map(res=>res.json())
.订阅(答案=>{
this.loggedIn=true;
this.token=answer.token;
决心(回答);
});
});
}
PS:我没有通过get请求得到这个错误

我尝试放置一个代理,但它没有改变任何事情:(

这是我的
ionic.config.json

{
“名称”:“五金店”,
“应用程序id”:“,
“v2”:对,
“typescript”:正确,
“代理人”:[
{
“路径”:“/api”,
“代理URL”:http://127.0.0.1:8000"
}
]
}
请在浏览器中使用重试

它允许您从任何源ajax请求任何地址,绕过http/https安全要求或浏览器设置的其他限制(称为)。实际上,它在将响应传递到应用程序之前,在收到的响应中插入
'Access-Control-Allow-Origin':'*'

请记住,这是一个创可贴解决方案,主要用于开发。您的服务器的响应实际上必须具有<代码>“访问控制-允许源”:“*”/代码>标题,最好具有比“代码> *>代码>更具体的值。

您现在所做的几乎没有任何效果,因为您作为客户端正在向服务器发送带有该头的请求,然后服务器会立即忽略它。重要的是,服务器在对您的客户端的响应中包含该头


据我所知,Postman不应用CORS,因此可能这就是它不受影响的原因。

当您将Http连接到https即安全层时,会显示此错误。 当我使用Https调用安全服务器中的rest服务到本地主机上运行的应用程序时,我遇到了相同的错误

为此,您需要在浏览器中安装一个插件,该插件将通过此锁定


如果您正在使用chrome,请为chrome安装CORS插件,该插件将正常工作。

此问题的一个原因可能是(个人体验): 可能是您为
数据库部署了错误的
连接字符串

我使用了以下两个数据库连接,一个用于本地存储,另一个用于服务器存储

const localhost = await mongoose.connect('mongodb://localhost:27017/categories');
const serverhost = await mongoose.connect('mongodb://usename:password@ds015126.mlab.com:12345/myapp');
有些人可能使用两个
连接字符串
,就像我和
部署
本地主机数据库连接
而不是真正的
服务器数据库连接
,然后尝试通过
邮递员
客户端应用程序访问
数据库
,然后面临这样的问题


请确保,您已经部署了
右侧的
连接字符串

这看起来您的服务器不支持CORS。您确定您正确地实现了它吗?我认为postman与CORS没有任何问题,因此仅因为它在postman中工作并不意味着您的服务器支持CORS。请尝试查看您的响应r Ionic应用程序,如果存在任何与CORS相关的标题。在当前状态下,这应该是一个注释。您应该解释此加载项是什么,以及它如何帮助解决问题。我同意@Rotternoats。此外,如果他想将应用程序部署为Web应用程序,或者如果他在iOS上使用WkWebView,则这并不能解决问题,iOS甚至强制执行CORS在设备上。您指向插件的链接已断开,可能插件已删除。