Ionic - 被 CORS 策略阻止:否 'Access-Control-Allow-Origin'
Ionic - blocked by CORS policy: No 'Access-Control-Allow-Origin'
我创建了一个连接到 API 网站的 Ionic 应用程序,在启用 Under Attack Mode[=27= 之前,我已将我的网站连接到 CloudFlare 以进行保护] 请求完美发送,没有任何错误,但现在它在控制台中显示错误:
Access to XMLHttpRequest at 'https://mywebsite.org/api/mobile/news?pageSize=15¤tPage=1&language=undefined' from origin 'http://localhost:8100' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
back-end 是一个 flask 微服务,我也在启用 cors 角色,
cors.init_app(app, resources={r"https://mywebsite.org/api/*": {"origins": "https://mywebsite.org"}})
每次我从应用程序发送一个获取请求时,我也会添加一个 Access-Control-Allow-Origin 到 headers:
let headers = new HttpHeaders({
"Access-Control-Allow-Origin":"https://mywebsite.org/",
"origin":"https://mywebsite.org/"
});
@Injectable({
providedIn: 'root'
})
export class DataApiService {
private apiUrl: string = 'https://mywebsite.org/api';
constructor(
private http: HttpClient,
private translate: TranslateService
) { }
// Get news
apiRequest(url: string, params?:any){
const apiUri = `${this.apiUrl+url}`;
if(params){
params.language = this.translate.getDefaultLang();
}
return this.http.get(apiUri, { headers: headers, params: params }).pipe(
delay(
500
),
map(
(res:any) => {
return res
}
)
)
}
}
请帮忙。
观看这个
https://ionicframework.com/docs/troubleshooting/cors
你必须添加主机而不是 localhost (ionic serve --host test.test.co)
然后去你的本地磁盘
移到这里C:\Windows\System32\drivers\etc
然后修改你的hosts文件
127.0.0.1 test.test.co
抱歉英语不好
希望对您有所帮助
我创建了一个连接到 API 网站的 Ionic 应用程序,在启用 Under Attack Mode[=27= 之前,我已将我的网站连接到 CloudFlare 以进行保护] 请求完美发送,没有任何错误,但现在它在控制台中显示错误:
Access to XMLHttpRequest at 'https://mywebsite.org/api/mobile/news?pageSize=15¤tPage=1&language=undefined' from origin 'http://localhost:8100' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
back-end 是一个 flask 微服务,我也在启用 cors 角色,
cors.init_app(app, resources={r"https://mywebsite.org/api/*": {"origins": "https://mywebsite.org"}})
每次我从应用程序发送一个获取请求时,我也会添加一个 Access-Control-Allow-Origin 到 headers:
let headers = new HttpHeaders({
"Access-Control-Allow-Origin":"https://mywebsite.org/",
"origin":"https://mywebsite.org/"
});
@Injectable({
providedIn: 'root'
})
export class DataApiService {
private apiUrl: string = 'https://mywebsite.org/api';
constructor(
private http: HttpClient,
private translate: TranslateService
) { }
// Get news
apiRequest(url: string, params?:any){
const apiUri = `${this.apiUrl+url}`;
if(params){
params.language = this.translate.getDefaultLang();
}
return this.http.get(apiUri, { headers: headers, params: params }).pipe(
delay(
500
),
map(
(res:any) => {
return res
}
)
)
}
}
请帮忙。
观看这个
https://ionicframework.com/docs/troubleshooting/cors
你必须添加主机而不是 localhost (ionic serve --host test.test.co)
然后去你的本地磁盘
移到这里C:\Windows\System32\drivers\etc
然后修改你的hosts文件
127.0.0.1 test.test.co
抱歉英语不好
希望对您有所帮助