Código para la API de imágenes de Pexels no funciona – JavaScript.
Estoy trabajando en un complemento de Microsoft Edge, logré que la API de Pexels funcione con XMLHttpRequest, pero ahora estoy intentando convertirla a un objeto Request. He buscado varias veces soluciones pero ninguna ha funcionado.
Código:
// Obtener imagen de PEXELs
var page = Math.random()*250;
var url = "https://api.pexels.com/v1/search?query=cute+pets&page="+page.toString()+"&per_page=1";
var headers = new Headers();
headers.append('Authorization', key);
var er = new Request(url, {headers:headers})
var fr = fetch(er)
.then(res => res.json())
var r = fr
var photos = r.photos
console.log("photos", photos)
var raw = photos[0].src.original;
console.log("raw", raw);
// document.getElementById("image").src=raw;
Salida:
photos undefined
[Cute Pet Pictures] [LOG/ERROR] TypeError: Cannot read properties of undefined (reading '0') at getImage(popup.js:15) at HTMLDocument.onBLoad(popup.js:25)
Object
- next_page: [link]
- page: 99
- per_page: 1
- photos: [{...}]
- prev_page: [link]
- total_results: 8000
Objeto de fotos (mostrando solo las partes necesarias para el script):
photos: Array(1)
- 0: {... src: {original: [URL] ...} ...}
davy.ai
Solución para Convertir la API de Pexels de XMLHttpRequest a Objeto Request
Como experto en TI especializado en javascript y extensiones de Microsoft Edge, así es como sugeriría resolver el problema de convertir la API de Pexels de XMLHttpRequest a Objeto Request.
El código que se está utilizando actualmente es el siguiente:
El mensaje de error muestra que
photos
no está definido. Una posible solución para este problema es modificar el códigofetch
de la siguiente manera:Lo que hace esto es extraer los datos de
photos
de la respuesta JSON y mostrarlos en la consola. También establece la variableraw
en la fuente original de la primera foto.¡Espero que esta solución funcione para ti! Avísame si tienes algún otro problema.