Angular 角度自动完成实现生成CORS错误
我正在尝试angular中的自动完成功能,我一直遇到CORS错误。 其他API调用工作正常 我偶然发现了它,但它不是很有用 下面是我的实现Angular 角度自动完成实现生成CORS错误,angular,typescript,autocomplete,angular-material,.net-core-angular,Angular,Typescript,Autocomplete,Angular Material,.net Core Angular,我正在尝试angular中的自动完成功能,我一直遇到CORS错误。 其他API调用工作正常 我偶然发现了它,但它不是很有用 下面是我的实现 ngOnInit(): void { const url = this.setupApiUrl + "GetBranches/"; this._dataService.SetHeaders() this.branchNameCtrl.valueChanges .pipe( debounceT
ngOnInit(): void {
const url = this.setupApiUrl + "GetBranches/";
this._dataService.SetHeaders()
this.branchNameCtrl.valueChanges
.pipe(
debounceTime(2000),
tap(() => {
this._dataService.SetHeaders();
this.errorMsg = "";
this.branchList = [];
this.isLoading = true;
}),
switchMap(value => this._dataService.GetResults<BranchViewModel>(url + value)
.pipe(
finalize(() => {
this.isLoading = false
}),
)
)
)
.subscribe(data => {
if (data.result['Search'] === undefined) {
this.errorMsg = data.result['Error'];
this.branchList = [];
} else {
this.errorMsg = "";
this.branchList = data.result['Search'];
} console.log(this.branchList);
});
}
ngOnInit():void{
const url=this.setupApiUrl+“getBranchs/”;
这是。_dataService.SetHeaders()
此.branchNameCtrl.valueChanges
.烟斗(
去BounceTime(2000年),
点击(()=>{
这是。_dataService.SetHeaders();
this.errorMsg=“”;
this.branchList=[];
this.isLoading=true;
}),
switchMap(value=>this.\u dataService.GetResults(url+value)
.烟斗(
完成(()=>{
this.isLoading=false
}),
)
)
)
.订阅(数据=>{
if(data.result['Search']==未定义){
this.errorMsg=data.result['Error'];
this.branchList=[];
}否则{
this.errorMsg=“”;
this.branchList=data.result['Search'];
}console.log(this.branchList);
});
}
可能是调用此。\u dataService.SetHeaders()
使用了服务器CORS策略不允许的头。如果您使用的是dotnet core,则可能需要调用AllowAnyHeader或AllowCredentials,或者可能需要允许使用特定的头
请参见是的,但我确实有其他API调用使用相同的头工作正常
if(adminApiConfiguration.CorsAllowAnyOrigin){builder.AllowAnyOrigin();}
“CorsAllowAnyOrigin”:true,公共SetHeaders(page?:number,itemsPerPage?:number){const tokenValue=“Bearer”+this._securityService.getToken();this.headers=新的HttpHeaders({'Content Type':'application/json','Accept':'application/json','Authorization':tokenValue,'Pagination':page+,“+itemsPerPage});}