|
|
|
|
- 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
JSONExecuteExternal( Función)
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. // 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. Para aumentar la seguridad de los datos transmitidos, tiene la posibilidad de utilizar una página secure (https).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|