【发布时间】:2020-06-29 16:04:41
【问题描述】:
我正在做一个 Angular 项目。我需要测试来自 Angular 应用程序的 API 调用,但它不起作用。它返回错误,
访问 XMLHttpRequest 在 'http://...../api/v1/user/authen' 来自原产地 “http://localhost:4200”已被 CORS 策略阻止:响应 预检请求未通过访问控制检查:它没有 HTTP 正常状态。
在服务器上已经设置了Access-Control-Allow-Origin: '*'
我还制作了一个简单的html+jquery文件来测试调用API,效果很好。
function callApi(){
$.ajax({
type: "POST",
url: 'http://..../api/v1/user/authen',
data: {
"user": "admin",
"password": "123456"
},
success: function(data){
console.log(data);
},
});
}
但是从 Angular 应用程序我仍然得到了错误。我需要在 Angular 应用程序上专门设置什么吗?
【问题讨论】:
-
问题可能出在服务器上。也许框架以某种方式错过了访问控制允许来源。您可能应该发布服务器代码
-
我们必须从 api 或服务器端启用 CORS。这不是角度代码的问题。
-
快速检查 - 1) 我们是否调用了正确的 API? 2) 在 api 的 chrome 网络选项卡中,我们可以看到 Access-Control-Allow-Origin: '*' 吗?根据我的经验提出的问题
-
您在后端使用什么语言?你能告诉我们一些你添加 Access-Control-Allow-Origin: '*' 的后端代码吗?
标签: angular