您好我是Angular的新手,并尝试创建一个使用Spotify API的应用。当我使用我的搜索组件进行搜索时,没有任何反应,我在控制台中收到错误
获取https://api.spotfiy.com/v1/search?query=adf&offset=0&limit=20&type=artist&market=US net :: ERR_CONNECTION_TIMED_OUT
以下是服务包含service.ts
的位置import {Injectable} from '@angular/core';
import {Http, Headers} from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class SpotifyService{
private searchUrl:string;
constructor(private _http:Http){
}
searchMusic(str:string, type="artist"){
this.searchUrl = `https://api.spotfiy.com/v1/search?query=${str}&offset=0&limit=20&type=${type}&market=US`;
return this._http.get(this.searchUrl).map(res => res.json());
}
}
搜索组件
import { Component } from '@angular/core';
import {SpotifyService} from '../../services/spotify.service';
@Component({
moduleId: module.id,
selector: 'search',
templateUrl: 'search.component.html',
//providers:[SpotifyService]
})
export class SearchComponent{
searchStr:string;
constructor(private _spotifyService:SpotifyService){
}
searchMusic(){
this._spotifyService.searchMusic(this.searchStr).subscribe(res => {
console.log(res.artist.items);
})
}
}
app.module
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { RouterModule, Routes } from '@angular/router';
import { NavbarComponent } from './components/navbar/navbar.component';
import { AboutComponent } from './components/about/about.component';
import { SearchComponent } from './components/search/search.component';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { SpotifyService } from './services/spotify.service';
const routes: Routes = [
{ path: '', component: SearchComponent },
{ path: 'about', component: AboutComponent }
]
@NgModule({
imports: [ BrowserModule, FormsModule, HttpModule, RouterModule.forRoot(routes) ],
declarations: [ AppComponent, AboutComponent, NavbarComponent, SearchComponent ],
providers: [ SpotifyService ],
bootstrap: [ AppComponent ],
})
export class AppModule { }
答案 0 :(得分:0)
网址中有拼写错误。您不小心输入了 spotfiy 而不是 spotify 。它发生了:))