我需要使用axios在react-native app中获取数据。我可以使用简单的GET方法获取数据,如下所示:
class AlbumList extends Component {
state = { albums: [] };
componentWillMount() {
//axios.get('https://rallycoding.herokuapp.com/api/music_albums') .then(response => console.log(response));
axios.get('http://rallycoding.herokuapp.com/api/music_albums')
.then(response => this.setState({ albums: response.data }));
}
renderAlbums() {
return this.state.albums.map(album =>
<AlbumDetail key={album.title} album={album} />);
// return this.state.albums.map(album => <Text>{album.title}</Text>);
}
render() {
console.log(this.state);
return (
<View>
{this.renderAlbums()}
</View>
);
}
}
如何使用POST
方法从API获取数据,我还需要传递header和api-username,api-password,apitoken?
我需要像https://stackoverflow.com/a/41358543/949003这样但 AXIOS 。
修改
我需要从LINNWORK API获取数据。如果有人这样做,请指导。他们首先需要authorize然后我可以从那里获取数据。所以authrize然后下一步。
答案 0 :(得分:7)
axios post
方法有3个参数,即url,data&amp;配置。
您可以按如下方式构建axios post请求:
axios.post(
'http://rallycoding.herokuapp.com/api/music_albums',
{
'param1': 'value1',
'param2': 'value2',
//other data key value pairs
},
{
headers: {
'api-token': 'xyz',
//other header fields
}
}
);
在您的情况下,您需要访问https://api.linnworks.net/api/Inventory/GetCategories
token
,Authorization
需要来自axios.get("https://api.linnworks.net/api/Inventory/GetCategories", {
headers: {
'Authorization': 'token-from-auth-api'
}
}).then((response) => {
console.log(response.data);
})
标头中的auth api的[ text input "item name" ] [ dropdown "item category" ] [ date picker ]
。因此,您通过axios的GET请求将是:
http://example.com/currentPage?filter=Abc&category=&dates=