【发布时间】:2018-10-16 16:19:31
【问题描述】:
想知道你是否可以帮助我。我是 reactjs 新手,不完全确定如何发出 api 请求?
基本上,我正在构建一个应用程序,它使用 Google apis 地理定位来获取当前用户的纬度/经度。
一旦我有了这个 lat 和 lng,我想将它附加到我的 Yelp api 调用中。因此,根据用户的位置,应用程序将从 API 中提取与位置相关的内容/数据。 EG - 如果我在伦敦,我的伦敦 lat/lng 将附加到 api 调用。
我已经完成了整个位置部分的工作。我的应用程序正在存储我的 lat 和 lng。但我不确定如何在 reactjs 中设置 Yelp api 请求。我正在做这个客户端。这是我目前拥有的代码:
getYelp = () => {
const params = {lat: this.state.lat, lng: this.state.lng};
Promise.props({
local: axios({
url: 'https://api.yelp.com/v3/businesses/search',
params: params,
json: true,
method: 'GET',
headers: {'user-key': 'MY-API-KEY'}
}).then(res => console.log(res.data))
.catch(err => console.log(err))
})
.then(data => {
this.setState({
yelpData: data
});
});
}
但我收到以下错误:
Failed to load https://api.yelp.com/v3/businesses/search: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8000' is therefore not allowed access. The response had HTTP status code 403.
任何帮助都会很棒! Google 已阻止 zomato api 在我的应用程序上运行,因为它会惩罚任何拥有 symantecs SSL 证书的网站。所以我必须改变这个......
谢谢!
【问题讨论】:
标签: javascript reactjs api axios