Llamar a otro sitio web - Forum

Forum Navigation
You need to log in to create posts and topics.

Llamar a otro sitio web

Hola, recién empezando con todo ésto, estoy haciendo una primeras pruebas para integrar a una neoapp el llamado a otro site desarrollado en WordPress, logro hacerlo, pero me encuentro que cada vez que navego a traves de las opciones del menú generado en la propia aplicación y vuelvo a llamar al sitio externo, vuelve a cargar todo de nuevo, generando una pantalla en blanco y un delay, hay posibilidad de que quede en el cache del dispositivo para evitar ésto?, usé las opciones de las propiedades de la app, pero sin resultados. Espero haber sido claro. Gracias a todos!!!

@sivol lo siento, pero al menos a mi, me resulta imposible entender lo que estás tratando de hacer ni el problema que tienes :/

Hola Luis, perdón por no expresarme más claro, intenté hacer simplemente una app, donde tengo un contenedor y un iframe, el cual muestra un sitio externo que está desarrollado en wp y un par de botones que permiten acceder a ese link o a otra página.

Lo que noto es que siempre que llama a ese sitio externo, lo actualiza, no hay posibilidad que tome luego de la primer visita el caché de esa página, ya que al acceder me queda la pantalla en blanco y existe un delay por supuesto.

Espero haber sido claro. Gracias y saludos, Aldo

Hola Luís, he estado haciendo pruebas y lo que te comentaba era que al usar un Iframe, cada vez que entra a la página este se actualiza y yo lo que quería es que lo cargara una vez, pero veo que cada vez que entra en esa pagina refresca todo (sería ver  como hacer para que solo la cargue una vez ).

Haciendo más pruebas, no se que comando debo usar para llamar por ejemplo htttps://www.mipagina.com/texto.php en esta página solo genera un texto como este Primera acción, Segunda acción, Tercera acción. Quiero con el Neo Web leer esta página y que me ponga este párrafo en una variable [TextoWeb].

Probé leer un Json, pero me es imposible el saber leer cada uno de los resultados, ya que quiero ponerlo en una variable

LoadJSON "https://jsonplaceholder.typicode.com/todos/4" [myvar]

SetVar [regtitle] [myvar('title')]

SetVar [regid] [myvar('id')]

AlertBox "JSON values:" "Title: [regtitle], Id: [regid]" ""

Me gustaría hacerlo para todos los resultados es decir

LoadJSON "https://jsonplaceholder.typicode.com/todos" [myvar]

{

  "id": 1,

  "fname": "Jeanette",

  "lname": "Penddreth",

  "email": "jpenddreth0@census.gov",

  "gender": "Female",

  "ip_address": "26.58.193.2"

},

[0] [1]....[100] respuestas Json.

Saludos Aldo

 

 

 

 

 

Hola @sivol, hay varios ejemplos que muestran como hacer lo que quieres.
Ten en cuenta que lo habitual es que recibas un JSON como un Array.
Por favor echa un vistazo al tutorial en YouTube sobre bases de datos ya que la forma en que se maneja la información es idéntica.
Saludos!

Hola Luís, como ves me he basado en esos ejemplos lo que quiero no solo es llamar al 4 de json sino a todo y crear una array como bien dices, el tema esta en como hacer una [variable] donde no se si llevara [0] o como se hace esto como te indico.

htttps://www.mipagina.com/texto.php en esta página solo genera un texto como este Primera acción, Segunda acción, Tercera acción. Quiero con el Neo Web leer esta página y que me ponga este párrafo en una variable [TextoWeb].

Y sobre lo de el texto no me indicas nada

Muchas gracias por adelantado!

@sivol No se si te estoy entendiendo bien pero te adjunto ejemplo que, insisto, es idéntico a lo que se hace en el tutorial de bases de datos.

Lo que noto es que siempre que llama a ese sitio externo, lo actualiza, no hay posibilidad que tome luego de la primer visita el caché de esa página, ya que al acceder me queda la pantalla en blanco y existe un delay por supuesto.

No te entiendo...

Uploaded files:
  • You need to login to have access to uploads.

Hola muchas gracias Luís, el ejemplo este me funciona perfecto, pero cuando cambio por ejemplo a otro json que usáis algunos en este foro haciendo pruebas pues no me da resultados, la verdad no se porque no lo hace si es casi igual

LoadJSON "https://www.dovesoft.uk/visualneo/multirecord.json" [mivar]
ArrayLen [mivar] [totalRegistros]
ConsoleLog [totalRegistros]
SetVar [actual] 0

SetVar [id] [mivar([actual]).id]
SetVar [userId] [mivar([actual]).fname]
SetVar [title] [mivar([actual]).lname]
SetVar [completed] [mivar([actual]).email]

Como ves cambie los campos para que me traiga la variable pero me sale en blanco y ¿Cuando el json son mucho mas robustos con indices mas largos, como llegaría a estos?

Con respecto al Iframe ví que lo carga cada vez que entro en esa pagina y por eso se ve blanco y tarda en verse, pero bueno intentare ver si con una animación o algo se puede disimular.

Muchas gracias por adelantado!

 

@sivol, es un problema de CORS (Si pulsas F12 puedes verlo en la Consola del navegador):

"Solicitud desde otro origen bloqueada: la política de mismo origen impide leer el recurso remoto en https://www.dovesoft.uk/visualneo/multirecord.json (razón: falta la cabecera CORS 'Access-Control-Allow-Origin'). Código de estado: 200."

¿Cuando el json son mucho mas robustos con indices mas largos, como llegaría a estos?

Es siempre igual: con notación de puntos y paréntesis. Puedes tener Arrays dentro de Arrays sin ningún problema. Te recomiendo que practiques y hagas pruebas.

Saludos!

Hola Luís muchas gracias por contestar, lo que no entiendo es que este y otros, los puedo leer desde otras aplicaciones y si que me las lee perfectamente pero desde VisualNeo Web como bien indicas me sale lo de CORS (veo el error en la consola). Mi pregunta es si se puede leer todo el documento json y llevarlo a una variable Array donde allí pueda filtrar o buscar el contenido que necesite. (o hay algún truco desde javascript para hacerlo).

un problema de CORS

He probado como 20 direcciones json que están abiertas, para ser leídas pero me da el mismo error del CORS y la verdad es frustrante el no poder leer al poner la dirección de la URL y que lo envíe a la variable (array) y ya. Con esto ir pidiendo datos para que los vaya pintando dentro de la app.

Si pudierais ayudarme con esto seria muy bueno, ya que al poder leer información que está en tiempo real se implementaría en la app

Muchas gracias por adelantado!

Si pudierais ayudarme con esto seria muy bueno, ya que al poder leer información que está en tiempo real se implementaría en la app

@sivol por favor lee acerca de CORS (debes entender que las limitaciones se deben a motivos de seguridad). En este foro ya se ha tratado el tema enormemente y se han aportado varias soluciones como utilizar un proxy en PHP o configurar adecuadamente el servidor.

Saludos!

Hola Luís he estado haciendo pruebas con código javascript, y desde un container pude hacer que me enviara todos los resultados del json, por ejemplo de esta URL "https://jsonplaceholder.typicode.com/albums" sin que de errores de CORS. Yo ejecuto la aplicación y al estar en la consola se ven todos los registros, ahora me faltaría saber como en vez de enviarlo a consola lo puedo enviar a una variable de VisualNeo Web. Se que existe $App.mostrarData, pero no consigo enviar toda la información a una variable o a una array mi variable en Javascript es  const mostrarData =(data) y recoge bien los datos.

Envío una captura donde se ve parte la app y la consola

Espero que con este avance se pueda enviar cualquier json sin tanta complicación.

También pude listarlo dentro del contenedor pero no como variable

Muchas gracias por adelantado!

 

 

Uploaded files:
  • You need to login to have access to uploads.

@sivol, esa URL no tiene restricciones CORS, así que se haría como en el anterior ejemplo.
Saludos

Hola Luís mil disculpas, al hacer tanta prueba subí las imágenes que no eran y me base en ellas, estas van referenciadas a https://www.dovesoft.uk/visualneo/multirecord.json que como puedes ver en la captura Json_Visualneo4.jpg de la aplicación demo que me pasaste da el error de restricciones CORS.

Pero si te das cuenta, en la imagen Json_Visualneo3.jpg verás que sí que la carga en la consola sin problemas todos los registros y marca Aray(4) mostrando toda la información.

Me faltaría saber como enviar la variable (array) total que si que puedo ver en consola al VisualNeo Web, he probado un montón de cosas, pero no doy con la solución.

Muchas gracias por adelantado!

Uploaded files:
  • You need to login to have access to uploads.

@sivol, no te entiendo, lo siento. A mi modo de ver solo hay dos posibilidades:

  1. Con bloqueo CORS (no puedes cargar el contenido porque se bloquea y tendrás que utilizar un proxy o configurar el servidor para que permita CORS).
  2. Sin bloqueo CORS (se hace tal y como explico en el ejemplo más arriba).

No hay más posibilidades.

Si dices que has sido capaz de cargar un contenido bloqueado con CORS sin utilizar un proxy ni alterar el servidor, me gustaría que me explicaras cómo porque, hasta donde yo se, se trataría de un fallo de seguridad del navegador donde lo has conseguido.