HttpClient get return 始终为空 API
HttpClient get return always null for any rest API
我刚刚使用 angular/cli 并按照他们的教程创建了一个 Angular 应用程序。然后我决定使用 observables 和真正的 rest API 包含 http get 请求,并注意到 angular 总是为空。我尝试使用几个 public rest APIs(当我将 URL 放入浏览器时,它们会执行 return json 对象)但是当我控制台记录对象时returned 它总是空的。这是我使用 public API:
服务的最后一个代码
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs/observable/of';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { catchError, map, tap } from 'rxjs/operators';
@Injectable()
export class myService {
private apiURL= 'https://jsonplaceholder.typicode.com/users';
constructor(private http: HttpClient) { }
getUsers() {
console.log('calling get!');
this.http.get('https://jsonplaceholder.typicode.com/users').pipe(
tap(users => console.log(users))).subscribe(p => {console.log(p);});
console.log('calling get finish!');
}
}
有什么想法吗?
谢谢大家的解答!这个问题似乎与我们用来测试调用的浏览器有关(Chrome Canary v65.0.3309.2 禁用了安全性以允许跨源请求)。
我们将配置更改为 运行 其他浏览器中的应用程序,HttpClient 现在工作正常...-.-
我刚刚使用 angular/cli 并按照他们的教程创建了一个 Angular 应用程序。然后我决定使用 observables 和真正的 rest API 包含 http get 请求,并注意到 angular 总是为空。我尝试使用几个 public rest APIs(当我将 URL 放入浏览器时,它们会执行 return json 对象)但是当我控制台记录对象时returned 它总是空的。这是我使用 public API:
服务的最后一个代码import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs/observable/of';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { catchError, map, tap } from 'rxjs/operators';
@Injectable()
export class myService {
private apiURL= 'https://jsonplaceholder.typicode.com/users';
constructor(private http: HttpClient) { }
getUsers() {
console.log('calling get!');
this.http.get('https://jsonplaceholder.typicode.com/users').pipe(
tap(users => console.log(users))).subscribe(p => {console.log(p);});
console.log('calling get finish!');
}
}
有什么想法吗?
谢谢大家的解答!这个问题似乎与我们用来测试调用的浏览器有关(Chrome Canary v65.0.3309.2 禁用了安全性以允许跨源请求)。 我们将配置更改为 运行 其他浏览器中的应用程序,HttpClient 现在工作正常...-.-