AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones específicas de la Web / Funciones varias de WEBDEV
  • Procedure para el tratamiento de los datos de JSON
  • Página de devolución de los datos en formato JSON
  • IMPORTANTE: Validez de JSON
  • Seguridad
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Advertencia
A partir de la versión 22, Se recomienda utilizar la función JSONExecute. De hecho, los servicios web que devuelven los datos en formato JSON están usando ahora el protocolo CORS para simplificar la seguridad.
Llama a una URL de un servidor externo que devuelve datos en formato JSON (JavaScript Object Notation).. Los datos del servidor se evalúan y se transmiten a la función de devolución de llamada en formato de objeto.
Esta función no está bloqueando. Los demás procesos siguen funcionando (independientemente de que se recuperen o no los datos).
Una vez que el resultado está disponible, JSONExecuteExternal llama automáticamente a un navegador Procedure para recuperar el resultado.
Ejemplo
// Run a JSON service on Google
// Google expects the name of the procedure that will process the JSON object
// in the parameter named "callback"
// and in this case, the procedure that will process the object is named "GoogleCalendar"
JSONExecuteExternal(...
"http://www.google.com/calendar/feeds/mysite@gmail.com" + ...
"/public/full?alt=json-in-script&orderby=starttime&max-results=15&" + ...
"singleevents=true&sortorder=ascending&futureevents=true", ...
 "&callback"=GoogleCalendar)

// This will generate a URL for calling the json function:
// http://www.google.com/calendar/feeds/mysite@gmail.com/public/full?alt
// =json-in-script&orderby=starttime&max-results=15&singleevents=true&
// sortorder=ascending&futureevents=true&callback=GoogleCalendar
// Run a JSON service on an Active WEBDEV Page
JSONExecuteExternal(...
"http://mysite/mysite_WEB/US/PAGE_Object.awp?id=12", ...
"JsonCallback", FunctionResponse)
// The Active WEBDEV Page expects a parameter named "JsonCallback"
// that will contain the name of the procedure to run in return
Sintaxis
JSONExecuteExternal(<Page URL> , <Parameter name> , <Procedure name>)
<Page URL>: Cadena de caracteres
URL de la página que devuelve los datos en formato JSON.
<Parameter name>: Cadena de caracteres
Nombre del parámetro añadido a la URL por WEBDEV para indicar el nombre de la Procedure para procesar los datos de la JSON al servidor correspondiente. El nombre de este parámetro depende de la documentación de la función JSON llamada, en la mayoría de los casos es "callback".
<Procedure name>: Cadena de caracteres
Nombre del procedimiento del navegador (procedimiento global o local) que realiza la Process de los datos de la JSON.
Este procedimiento tiene el siguiente formato:
PROCEDURE <Browser Procedure> (<JSON Result of Call>)
El parámetro pasado a este Procedure es un objeto dinámico, que contiene los datos de JSON. Debe indicarse en la declaración de la Procedure.
Observaciones

Procedure para el tratamiento de los datos de JSON

El resultado JSON debe ser devuelto como un código JSON incluido en una llamada al procedimiento utilizado para Process estos datos.
El nombre de esta Procedure se pasa directamente como parámetro en la URL para llamar a la página. El nombre de este parámetro se especifica en la función JSONExecuteExternal.
Por ejemplo:
JSONExecuteExternal("http://MySite/MySite_WEB/US/PAGE_Object.awp?id=12", ...
"JsonCallback", FunctionResponse)
se usará para construir la siguiente URL:
"http://MySite/MySite_WEB/FR/PAGE_Object.awp?id=12&JsonCallback=FunctionResponse"
// WEBDEV added: &JsonCallback=FunctionResponse in addition
// at the end of the URL to indicate the return function

Página de devolución de los datos en formato JSON

La página que devuelve los datos en formato JSON puede ser una página AWP, una página PHP o cualquier otro tipo de página.
Si esta página es una página WEBDEV, esta página puede estar en formato AWP o en formato PHP. Esta página debe devolver los datos en formato JSON con Pantalla StringDisplay. Además, StringToUTF8 también debe utilizarse para get un formato válido.
Por ejemplo, el siguiente código se utiliza para crear la cadena que será devuelta. Este string contiene el código utilizado para definir un objeto y un array. El código utilizado es código Javascript.
PageParameter se utiliza para process una llamada externa. En este caso, los datos JSON devueltos están formateados con el nombre de la Process Procedure.
// String containing a JSON object
sObject is string = [
%1 ( {id: 12,
list:  [
{lastname: "smith", firstname: "john"},
{lastname: "doe", firstname: "mary"},
{lastname: "martin", firstname: "laura"}]
} );
]
 
// Add the name of the callback procedure (instead of %1)
// This name is expected in a parameter named "JsonCallback"
sObject = StringBuild(sObject, PageParameter("JsonCallback"))
 
// Returns the string ot the JSON object
// with the name of the javascipt procedure to call
StringDisplay(StringToUTF8(sObject))

IMPORTANTE: Validez de JSON

No se realiza ningún control sobre la validez de la JSON recibida del servidor. Asegúrese de que la página llamada sea una página de confianza para evitar tener una inyección de JavaScript en la página actual.

Seguridad

Para aumentar la seguridad de los datos transmitidos, tiene la posibilidad de utilizar una página secure (https).
Componente: WDJS.DLL
Versión mínima requerida
  • Versión 14
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local