【发布时间】:2017-02-16 21:27:16
【问题描述】:
我正在尝试从标签中获取图像列表,但没有任何内容被控制台记录或渲染。不确定我是否缺少 api 的参数。
编解码器:http://codepen.io/anon/pen/PWgBgd?editors=0010
const url = "https://api.flickr.com/services/feeds/photos_public.gne?tags=kitten&format=json"
class App extends React.Component {
constructor() {
super()
this.state = {
items: []
}
}
componentWillMount() {
axios.get(url)
.then((response) => {
console.log(response.data.jsonFlickrFeed.items);
this.setState({
items: response.data.jsonFlickrFeed.items
})
})
.catch((err) => {
})
}
render() {
const mappedStorage = this.state.items.map((item) => <li>{item.media.m} </li>)
return (
<div>
hello
<ul>{mappedStorage}</ul>
</div>
);
}
}
ReactDOM.render(<App />, document.body)
【问题讨论】:
-
您是否在控制台中看到任何 CORS 警告?您是否尝试过控制台记录响应以查看返回的内容
-
我可以使用相同的代码并让它工作,但我必须使用这个插件:chrome.google.com/webstore/detail/allow-control-allow-origi/… 因为您正在使用客户端进行 api 调用,所以您需要确保您是允许跨域资源共享。浏览器通常不允许这样做,但它们是插件解决方法。最好的方法是让后端服务器发出请求,然后将其发送回前端,前端只与同源的后端通信
-
我已经安装了扩展。这是一个代码笔。还是没有骰子。 codepen.io/anon/pen/PWgBgd?editors=0010