我正在尝试使用API键创建一个电影Finder网站。根据代码以及API键 - 我可以通过键入API请求,但可以访问该值在浏览器中获取错误
错误:
错误图像
这是我的电影。Service.ts
import {Injectable} from '@angular/core';
import {Jsonp,JsonpModule} from '@angular/http';
import 'rxjs/Rx';
Injectable()
export class MovieService
{
apikey:string;
constructor(private _jsonp:Jsonp)
{
this.apikey='##';
console.log('Movie Service Initialized');
}
getPopular()
{
return this._jsonp.get('https://api.themoviedb.org/3/discover/movie?callback=JSONP_CALLBACK&sort_by=popularity.desc&api_key=##')
.map(res=>res.json());
}
}
这是我的Movie.components.ts,我在哪里打电话
import { Component } from '@angular/core';
import {MovieService} from 'app/services/movies.service';
@Component({
selector: 'Movies',
templateUrl: 'movies.components.html',
})
export class MoviesComponent {
constructor(private _movieservice:MovieService)
{
this._movieservice.getPopular().subscribe(res=>{
console.log(res.results)
});
}
}
这是我的app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule,JsonpModule } from '@angular/http';
import { AppComponent } from './app.component';
import {MoviesComponent} from 'app/components/movies/movies.components';
import {MovieService} from 'app/services/movies.service';
@NgModule({
declarations: [
AppComponent,
MoviesComponent,
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
JsonpModule,
],
providers: [MovieService],
bootstrap: [AppComponent]
})
export class AppModule { }
您可能已经解决了。我唯一看到的是,在电影服务中注射之前,您缺少"@"符号。希望有帮助!