javascript - 如何使用 travel advisor api 加载酒店的图像和描述
问题描述
let cities=['Delhi', 'Goa', 'Hyderabad', 'Kolkata', 'Chennai', 'Agra', 'Jaipur', 'Bengaluru'];
let cities_data=[];
for(let i=0; i<cities.length; i++) {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", `https://travel-advisor.p.rapidapi.com/locations/search?query=${cities[i]}`, true);
xhttp.setRequestHeader("x-rapidapi-key", "39cb6e4388mshab83d1703c8651dp1b3aa8jsnc2cb8092bfbe");
xhttp.setRequestHeader("x-rapidapi-host", "travel-advisor.p.rapidapi.com");
xhttp.send();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
cities_data.push(JSON.parse(this.response).data[0].result_object.photo.images.large.url);
}
}
}
console.log(cities_data);
我必须将图像加载到我的 html 页面
<div class="cityImage" >
<div class="image"><a href="list.html"><img class="city_img" src="https://media-cdn.tripadvisor.com/media/photo-s/15/33/fe/a2/new-delhi.jpg"><div class="cityName">Delhi</div></a></div>
<div class="image"><img class="city_img" src="https://media-cdn.tripadvisor.com/media/photo-s/15/33/fc/f0/goa.jpg"><div class="cityName">Goa</div></div>
<div class="image"><img class="city_img" src="https://media-cdn.tripadvisor.com/media/photo-s/0f/98/f7/df/charminar.jpg"><div class="cityName">Hyderabad</div></div>
<div class="image"><img class="city_img" src="https://media-cdn.tripadvisor.com/media/photo-s/15/33/fe/ac/kolkata-calcutta.jpg"><div class="cityName">Kolkata</div></div><br>
<div class="image"><a href="list.html"><img class="city_img" src="https://media-cdn.tripadvisor.com/media/photo-s/15/4d/46/b8/chennai-madras.jpg"><div class="cityName">Chennai</div></a></div>
<div class="image"><img class="city_img" src="https://media-cdn.tripadvisor.com/media/photo-s/15/33/fc/fc/agra.jpg"><div class="cityName">Agra</div></div>
<div class="image"><img class="city_img" src="https://media-cdn.tripadvisor.com/media/photo-s/10/a3/3b/8a/screenshot-2017-09-12.jpg"><div class="cityName">Jaipur</div></div>
<div class="image"><img class="city_img" src="https://media-cdn.tripadvisor.com/media/photo-s/0c/d2/2f/7a/palace-from-the-outside.jpg"><div class="cityName">Bengaluru</div></div><br>
</div>
需要用 javascript 文件中的 travel advisor api 图像替换所有这些图像
解决方案
const {data:{results}} = apiResponse
现在您将获得结果,结果是一个 obj 数组,现在只需遍历结果并获得detailsV2和image属性,解构 detailsV2 属性{names,geocode,contact} = detailsV2
并访问 3 对象,您可以在其中找到所需的详细信息,现在只需访问 Image 属性解构图像 {photo: {photoSize}} = image
并访问photoSize属性photoSize是一个对象数组,其中每个对象都是不同大小的图像访问photoSize中的 URL 属性,现在只需选择您需要的图像大小并使用它。
我希望我能很好地理解你的问题。
推荐阅读
- angular - 从角度环境中排除文件
- react-native - 不再支持如何解决 UIManager['AIRMapLite']。(带有白色徽标的白色屏幕)
- python - 我们如何将 Python 代码集成到 AIML 中?
- jsp - 如何在 JSP 中隐藏 URL 中的参数?
- webview - Flutter 中使用 TLS 的 Webview
- python - gurobipy 中的回调函数会产生错误消息
- python - 使用其他 numpy 数组索引多维 numpy 数组
- c# - OleDb:抛出异常:System.Data.dll 中的“System.InvalidOperationException”
- regex - 正则表达式替换用 VS 代码中的正则表达式本身替换整个单词
- javascript - 在 woo-commerce 中加载 bootstrap 3 模态的问题