gpt4 book ai didi

javascript - 使用 fetch 添加 Omdb Api?

转载 作者:搜寻专家 更新时间:2023-10-30 22:24:56 25 4
gpt4 key购买 nike

我正在尝试通过 fetch 使用 OMDB api,我在网络中看到我的数据库正在运行。但是它没有显示在我的 Angular 6 页面上。我在这段代码中缺少什么?

import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';

@Injectable({
providedIn: 'root'
})
export class DataService {

constructor(private http: HttpClient) { }

getData() {
return fetch('http://www.omdbapi.com/?i=tt3896198&apikey=9fa6058b');
}
}

还有这个

import { DataService } from './../data.service';
import { Component, OnInit } from '@angular/core';
import {Observable} from 'rxjs';

@Component({
selector: 'app-movie-list',
templateUrl: './movie-list.component.html',
styleUrls: ['./movie-list.component.css']
})
export class MovieListComponent implements OnInit {

movies = [
{Title: 'Harry Potter'},
{Title: 'Space Jam'}
]

constructor(private data:DataService) { }

ngOnInit() {
// fetch('http://www.omdbapi.com/?i=tt3896198&apikey=9fa6058b')
// .then(response => response.json())
// .then( res => this.movies = res);

this.data.getData()
.then((response) => {response.json()
.then((data)=> {this.data = data;
});
});
}

还有这个

<p>
movie-list works!
</p>

<div class="card">
<ul>
<li *ngFor="let movie of movies">
<h2>{{movie.Title}}</h2>
<h3>{{movie.Plot}}</h3>
</li>
</ul>
</div>

这就是我得到的......见下图。

enter image description here

如何从数据库中查看标题和情节?

感谢您的帮助!

最佳答案

我认为 response.json() 必须与 fetch 一起使用

getData() {
return fetch('http://www.omdbapi.com/?i=tt3896198&apikey=9fa6058b')
.then((response) => {
response.json()
});
}

this.data.getData().then((data) => {
this.data = data;
});

此外,响应是一个对象,因此您需要将对象推送到数组中才能使用 *ngFor

DEMO

关于javascript - 使用 fetch 添加 Omdb Api?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54415890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com