问题描述
我正在尝试从Spotify API获得答复(跟踪列表(json)),但我不断收到此错误:
{status: 400,message: "No search query"}
这是我的Spotify.api模块中的函数:
search(term) {
const accessToken = Spotify.getAccessToken();
return fetch(`https://api.spotify.com/v1/search?type=TRACK&q=${term}`,{
headers: {
Authorization: `Bearer ${accessToken}`,},}).then(response => {
return response.json();
}).then(jsonResponse => {
if (!jsonResponse.tracks) {
return [];
}
return jsonResponse.tracks.items.map(track => ({
id: track.id,name: track.name,artist: track.artists[0].name,album: track.album.name,}));
});
},
这是状态所在的app.js(主要容器组件);这些都在类react构造函数中:
search(term) {
Spotify.search(term).then(searchResults => {
this.setState({
searchResults: searchResults
})
})
}
render() {
return (
<div>
<div className = "App" >
< SearchBar onSearch={this.search} />
<div className="App-playlist">
< SearchResults searchResults={this.state.searchResults}
onAdd={this.addTrack} />
< Playlist playlistName={this.state.playlistName}
playlistTracks={this.state.playlistTracks}
onRemove={this.removeTrack}
onNameChange={this.updatePlaylistName}
onSave={this.savePlaylist} />
</div>
</div>
</div>);
}
}
这是searchBar.js组件,将在其中请求输入(或跟踪):
search() {
this.props.onSearch(this.state.term);
}
handleTermChange(event) {
this.setState = { term: event.target.value };
}
render() {
return (
<div className="SearchBar">
<input
onChange={this.handleTermChange}
placeholder="Enter A Song,Album,or Artist"
/>
<button className="SearchButton" onClick={this.search}>SEARCH</button>
</div>
);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)