如何修复 Angular 1 + ajax + CORS 策略上的 No 'Access-Control-Allow-Origin' 标头? [复制]
Posted
技术标签:
【中文标题】如何修复 Angular 1 + ajax + CORS 策略上的 No \'Access-Control-Allow-Origin\' 标头? [复制]【英文标题】:How to fix No 'Access-Control-Allow-Origin' header on angular 1 + ajax + CORS policy? [duplicate]如何修复 Angular 1 + ajax + CORS 策略上的 No 'Access-Control-Allow-Origin' 标头? [复制] 【发布时间】:2019-08-23 01:39:27 【问题描述】:我不知道如何解决我的代码中的这个问题。 我的代码如下:
$http(
method: 'POST',
url: "http://urlexample.com.br",
headers :
"Content-Type": "application/x-www-form-urlencoded;charset=utf-8;",
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Headers" : "X-Custom-Header",
"Access-Control-Allow-Credentials": true,
"Access-Control-Allow-Methods": "POST",
"Accept" : "application/x-www-form-urlencoded;charset=utf-8;"
,
data:
"username": login,
"password": senha
).then(function (success)
callback(success);
, function (error)
errorCallback(error);
);
错误是这样的:
“已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。”
谢谢。
【问题讨论】:
http://urlexample.com.br
URL 应该使用在"Access-Control-Allow-Origin": "*"
中设置的 HTTP 响应标头进行响应。
urlexample.com.br是API的地址。
【参考方案1】:
您收到此错误是因为您正在调用位于不同域中的 API,这是 CORS(跨域资源共享)策略所阻止的,除非您允许从其他域访问您的 API。
您可以通过在后端安装一个包来解决此错误(如果您使用的是 laravel,则为 laravel-cors),这取决于您使用的技术。
看看这个问题,它们将帮助你理解和解决问题
AngularJS performs an OPTIONS HTTP request for a cross-origin resource
CORS: Cannot use wildcard in Access-Control-Allow-Origin when credentials flag is true
【讨论】:
以上是关于如何修复 Angular 1 + ajax + CORS 策略上的 No 'Access-Control-Allow-Origin' 标头? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何修复:“@angular/fire”'没有导出成员 'AngularFireModule'.ts(2305) ionic、firebase、angular
如何修复“找不到模块'@angular-devkit/schematics'”
在Angular中将项目从v10迁移到v12后如何修复错误[关闭]