Estoy tratando de consultar una API de acuerdo con las instrucciones que me diste, pero recibo este error:
(índice): 30 TypeError no detectado: no se pueden leer las propiedades de undefined (leyendo 'dataResponse') en la devolución de llamada ((índice): 30) en HTMLButtonElement.onclick ((índice): 23) devolución de llamada @ (índice): 30 onclick @ (índice) ):23
instrucciones de api https://drive.google.com/file/d/1KHLduw46l1e3aIGCliTvn1gYuJhv8Npy/view?usp=sharing podría ayudarme por favor
<!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Bootstrap CSS --> <title>Duke Business School</title> <script data-user="user(user@test.com) " data-password="(password 'sha256Hex')" data-button=false data-response=true data-amount="100.01" data-commerce="Affinitas" src="http://52.22.36.22:9020/js/transactions.js"> </script> </head> <body> <button onclick="callback();"> pagar</button> </div> </section> <script> function callback(data){ alert("RESPUESTA OBTENIDA EN HTML"); alert("Operación: " + data.dataResponse.description + " Autorización: " + data.dataResponse.authorization) } </script> </body> </html>Parece que su error aquí es un simple error de usuario y no tiene nada que ver con la API.
Está utilizando el botón onclick para llamar a "devolución de llamada ()" sin ningún parámetro pasado. Esto es lo mismo que: "devolución de llamada (indefinido);"
Creo que tu lógica es un poco desordenada aquí. Su botón debe llamar a la API y la API debe llamar a la devolución de llamada. En su lugar, está llamando a la devolución de llamada con el botón, omitiendo la API por completo.
Por lo general, el error TypeError: Cannot read properties of undefined se refiere a intentar hacer referencia a una propiedad dentro de una propiedad dentro de un objeto o una propiedad del objeto que no existe.
El problema es que está intentando leer la propiedad "descripción" de dataResponse, pero dataResponse no existe. Pero el compilador no sabe qué es dataResponse porque los datos variables no existen.
data.dataResponse.description // <- Same as: Undefined.undefined.undefined
La causa raíz está aquí onclick="callback();" , no está pasando ningún dato en la devolución de llamada e intentando acceder a los datos en su función que en realidad no está undefined .
No estoy seguro acerca de esta API, pero en su botón haga clic en
o