Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

287
Vistas
Ext JS 7.0: obtenga la cadena JSON respondida del enrutador

Escribí una aplicación Ext JS 7.0 con una cuadrícula que usa Ext Direct para conectarse a una base de datos SQL basada en el ejemplo de Sencha ( https://docs.sencha.com/extjs/7.0.0/guides/backend_connectors/direct/mysql_php .html ). Esto funciona bien.

La aplicación también tiene algunas vistas con algunos campos de texto. Su contenido también se almacena en la base de datos, pero en una tabla diferente, así que agregué las funciones necesarias a QueryDatabase.php y extendí config.php. Ahora, escribir en la base de datos funciona simplemente llamando a la función (php) correspondiente en el controlador, por ejemplo, QueryDatabase.updateSettings(JSONstring); .

También quiero llenar inicialmente los campos de texto con los datos almacenados en la base de datos y aquí es donde me meto en problemas.

Si llamo a la función de lectura adecuada y la asigno a una variable, por ejemplo, settingsJSON = QueryDatabase.getSettings(); , settingsJSON permanece sin definir, aunque puedo ver en el navegador que router.php devuelve el resultado correcto (como "{\"Setting1\":\"a value\",\"Setting2\":\"another value\"}" ).

Como la solicitud es asíncrona, intenté usar una función de devolución de llamada (según https://docs.sencha.com/extjs/7.0.0/classic/Ext.direct.RemotingProvider.html#cfg-actions ):

 onSettingsRefreshClick: function() { console.log('Hello world!'); QueryDatabase.getSettings(function(result, e, success, options) { console.log('Hello again!'); var t, action, method; t = e.getTransaction(); action = t.action; method = t.method; if (e.status) { console.log(Ext.encode(result)); } }) }

Pero esto tampoco funciona. router.php aún entrega el resultado correcto, pero no se muestra en la consola. Obviamente, toda la función de devolución de llamada no se ejecuta como '¡Hola de nuevo!' tampoco aparece en la consola ('Hello world!' sí). Entonces, ¿cómo asigno la cadena JSON devuelta por router.php a una variable?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda