我正在尝试从 url 获取 json 数据,但无法获取任何数据。 它只是显示一个空数组。你认为我缺少什么 在这里?
service.ts
这是service.ts。我正在尝试从'https://jsonplaceholder.typicode.com/posts获取数据'.
import { Injectable } from '@angular/core';
import{UserCreation} from '../../models/user-creation.model';
import{Observable} from 'rxjs/Observable';
import{of} from 'rxjs/observable/of';
import{catchError,map,tap} from 'rxjs/operators';
import{HttpClient,HttpHeaders} from '@angular/common/http';
const httpOptions={
headers:new HttpHeaders({'Content-Type':'application/json'})
};
@Injectable({
providedIn: 'root'
})
export class UserCreationService{
//Create constructor to get Http instance
constructor(private http:HttpClient) { }
private usersUrl:'https://jsonplaceholder.typicode.com/posts';
getUsers():Observable<UserCreation[]>{
return this.http.get<UserCreation[]>(this.usersUrl).pipe(
tap(receivedUsers
=>console.log(`receivedUsers=${JSON.stringify(receivedUsers)}`)),
catchError(error=>of([]))
);
}
app.component.ts
这是 component.ts 文件
import { Component, OnInit } from '@angular/core';
import { Http, Response } from '@angular/http';
import { UserCreationService } from '../../common/services/user-
creation.service';
@Component({
selector: 'app',
templateUrl: './app.component.html',
styleUrls: ['./app-component.css']
})
export class AppComponent implements OnInit {
allUsers: UserCreation[];
constructor(private userService: UserCreationService) { }
getUsersFromServices():void{
this.userService.getUsers().subscribe(
(Users)=>{
this.allUsers=Users;
console.log(`this.allUsers = ${JSON.stringify(this.allUsers)}`);
}
)
}
ngOnInit(): void {
this.getUsersFromServices();
}
最佳答案
此处存在拼写错误 - private usersUrl:'https://jsonplaceholder.typicode.com/posts';
。
应该是 =
而不是 :
像这样 - private usersUrl='https://jsonplaceholder.typicode.com/posts';
.
或者更好的方式private usersUrl:string = 'https://jsonplaceholder.typicode.com/posts';
关于javascript - 获取空的json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52586746/