我正在尝试使用api密钥创建一个电影查找器网站。对于代码以及api密钥-i只能通过点击api请求但在浏览器中获取错误来访问值时,一切看起来都很完美。如果有的话,请注意一个可以帮助我
错误:
这是我的movies.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());
}
}
这是我的movies.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 { }
答案 0 :(得分:2)
你可能已经解决了这个问题。我唯一看到的是你错过了一个' @' MovieService中的Injectable之前的符号。希望有所帮助!