Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

280
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!