![](/img/trans.png)
[英]Sending a POST request to a REST API with Basic Authentication in Java Script/AJAX
[英]Post from API with Basic Authentication
我無法從 API 下載數據
我做錯了什么,但我不知道是什么
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa(userPassword)
}),
observe: 'response' as 'body'
};
@Injectable({
providedIn: 'root'
})
export class CoverageService {
eligibilityUrl = nepalehrUrl + 'EligibilityRequest';
constructor(private http: HttpClient) { }
getEligibilityData(body:object): Observable<EligibilityResponse> {
return this.http.post<EligibilityResponse>(this.eligibilityUrl, body, httpOptions);
}
}
我有信息:
組件中的代碼
let bodyEligibility = {
resourceType: "EligibilityRequest",
patient: {
reference: "Patient/1975632"
}
};
this.myEligibilityData$ = this.coverageService.getEligibilityData(bodyEligibility);
console.log(JSON.stringify(this.myEligibilityData$))
我做錯了什么
Observables 是惰性的,除非您訂閱它們,否則它們不會執行。
所以基本上你必須subscribe
observable 才能讓 http 調用。 目前,當您執行console.log
時,您可以在瀏覽器console
中看到徹底的 observable 。 基本上當訂閱 function http 調用被執行並且底層subscribe
function 被觸發,您可以在其中分配myEligibilityData
的值
myEligibilityData;
this.coverageService.getEligibilityData(bodyEligibility).subscribe(data => {
console.log(data);
this.myEligibilityData = data;
});
如果您想直接在 HTML 上顯示這些數據,那么您可以保持現有代碼不變。 您不必subscribe
observable,而是在 HTML 上使用async
pipe,它將負責應用subscribe
並從Observable
提取數據。
<ng-container *ngIf="myEligibilityData$ | async as myEligibilityData">
{{myEligibilityData | json}}
</ng-container>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.