Json 愚蠢';错误:尝试区分';[对象对象]';。只允许使用数组和iterables';
我不能让这个工作,我知道我错过了一些愚蠢的。。。。不管我怎么做,我总是会遇到这样的错误:“错误错误:尝试区分'[object]'时出错。只允许使用数组和可重用项”我到底错过了什么。我知道这很愚蠢,但我在网上任何地方都找不到答案。无论我做什么尝试,我总是回到这个错误 服务代码:Json 愚蠢';错误:尝试区分';[对象对象]';。只允许使用数组和iterables';,json,angular,api,Json,Angular,Api,我不能让这个工作,我知道我错过了一些愚蠢的。。。。不管我怎么做,我总是会遇到这样的错误:“错误错误:尝试区分'[object]'时出错。只允许使用数组和可重用项”我到底错过了什么。我知道这很愚蠢,但我在网上任何地方都找不到答案。无论我做什么尝试,我总是回到这个错误 服务代码: SearchByTitle(title: string) { const url = `${this.url}&s=${title}`; return this.http.get<Movi
SearchByTitle(title: string) {
const url = `${this.url}&s=${title}`;
return this.http.get<Movies[]>(url)
.pipe(
retry(1),
catchError(this.handleError)
);
}
HTML
您的服务返回带有movies数组和附加信息(如“totalResults”)的对象,您需要通过从响应对象获取“搜索”字段来获取movies数组。 所以只要改变
this.movieData = res;
到
在GetData函数中,请给出您从api收到的响应?检查响应。此外,在NGFORTH工作的
GetData(){wait this.movieService.SearchByTitle('star').subscribe((res:any)=>{this.movieData=res['Search'];console.log(JSON.stringify(this.movieData));},error=>{console.log(“发生了意外错误”);};返回this.movieData;}
<div class="content">
<button id="searchBtn" (click)="GetData">Search</button>
<div class="movieList" *ngIf="movieData">
<div class="movies" *ngFor="movie of movieData">
<p class="movieTitle">Movies</p>
</div>
</div>
</div>
{"Search":[{"Title":"Star Wars: Episode IV - A New Hope","Year":"1977","imdbID":"tt0076759","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BNzVlY2MwMjktM2E4OS00…ctYzhkZGM3YzA1ZWM2XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_SX300.jpg"},{"Title":"Star Wars: Episode V - The Empire Strikes Back","Year":"1980","imdbID":"tt0080684","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BYmU1NDRjNDgtMzhiMi00…ItZDNiZjU5NTU4OTE0XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_SX300.jpg"},{"Title":"Star Wars: Episode VI - Return of the Jedi","Year":"1983","imdbID":"tt0086190","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BOWZlMjFiYzgtMTUzNC00…MtZmNhMTczNTk0ODk1XkEyXkFqcGdeQXVyNTAyODkwOQ@@._V1_SX300.jpg"},{"Title":"Star Wars: Episode VII - The Force Awakens","Year":"2015","imdbID":"tt2488496","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BOTAzODEzNDAzMl5BMl5BanBnXkFtZTgwMDU1MTgzNzE@._V1_SX300.jpg"},{"Title":"Star Wars: Episode I - The Phantom Menace","Year":"1999","imdbID":"tt0120915","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BYTRhNjcwNWQtMGJmMi00…ItODVmMTdjNWI0ZDA2XkEyXkFqcGdeQXVyNTAyODkwOQ@@._V1_SX300.jpg"},{"Title":"Star Wars: Episode III - Revenge of the Sith","Year":"2005","imdbID":"tt0121766","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BNTc4MTc3NTQ5OF5BMl5BanBnXkFtZTcwOTg0NjI4NA@@._V1_SX300.jpg"},{"Title":"Star Wars: Episode II - Attack of the Clones","Year":"2002","imdbID":"tt0121765","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BMDAzM2M0Y2UtZjRmZi00…EtOTE3NzU5ZDVlMTU5XkEyXkFqcGdeQXVyNDUyOTg3Njg@._V1_SX300.jpg"},{"Title":"Star Trek","Year":"2009","imdbID":"tt0796366","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BMjE5NDQ5OTE4Ml5BMl5BanBnXkFtZTcwOTE3NDIzMw@@._V1_SX300.jpg"},{"Title":"Star Wars: Episode VIII - The Last Jedi","Year":"2017","imdbID":"tt2527336","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BMjQ1MzcxNjg4N15BMl5BanBnXkFtZTgwNzgwMjY4MzI@._V1_SX300.jpg"},{"Title":"Rogue One: A Star Wars Story","Year":"2016","imdbID":"tt3748528","Type":"movie","Poster":"https://m.media-amazon.com/images/M/MV5BMjEwMzMxODIzOV5BMl5BanBnXkFtZTgwNzg3OTAzMDI@._V1_SX300.jpg"}],"totalResults":"3612","Response":"True"}
this.movieData = res;
this.movieData = res.Search;