Hola buenas tardes
Estoy trabajando un sistema con esta maravilla de ModHarbour2 y TWEB y todo va bien hasta esta pequeña traba que encontre:
Tengo una vista(vista_upd.view) con parte del codigo asi:
DIV o ID 'bar' CLASS 'btn-group'
BUTTON LABEL ' Editar' ICON '<i class="far fa-edit" aria-hidden="true"></i>' ACTION 'editRow()' CLASS 'btn-secondary mybtnbar' GRID 0 OF o
ENDDIV o
La funcion editRow en JS hace una llamada a otro prg con :
MsgServer('/exdnb/secdat_upd.prg',hParam, dunPost_edt);
el prg secdat_upd procesa data desde sql y lo devuleve en la matriz hDataString:
// Informacion de la tabla String
oString := StringModel():New()
hDataString := oString:StrSeccion(hParam)
AP_SetContentType( "application/json" )
hResponse := { 'hParam' => hParam, 'hDataString' => hDataString}
?? hb_jsonEncode( hResponse )
Mi pregunta es ¿como hago que esta matriz(hDataString) pueda ser conocida y visualizada desde el prg que codifique en la View inicial(vista_upd.view)?
Espero se me haya entendido, muchas gracias
Pasar variable de JS a PRG codificado en una View
-
- Mensajes: 6
- Registered for: 3 years 5 months
-
- Mensajes: 20
- Registered for: 4 years
Despues de la llamada al prg:
MsgServer('/exdnb/secdat_upd.prg',hParam, dunPost_edt);
tienes el: dunPost_edt
que es la respuesta del server y luego tienes que definir en tu vista la recepción de la data con ese dunPost_edt
Mírate el ejemplo sencillo del manejo de respuesta del server en: msgserver2.prg en los ejemplos de: tweb.v2
MsgServer('/exdnb/secdat_upd.prg',hParam, dunPost_edt);
tienes el: dunPost_edt
que es la respuesta del server y luego tienes que definir en tu vista la recepción de la data con ese dunPost_edt
Mírate el ejemplo sencillo del manejo de respuesta del server en: msgserver2.prg en los ejemplos de: tweb.v2
-
- Mensajes: 6
- Registered for: 3 years 5 months
WilliamL, muchas gracias por el apoyo con mi interrogante.
Entiendo que la funcion dunPost_edt reconozca el contenido de la respuesta obtenida desde el MsgServer, pero esta funcion sigue estando en JS y en mi caso, mi incognita viene en como le paso esa referencia de variable array (hDataString) al archivo vista_upd.view , cuyo contenido es basicamente prg, lo que pasa es que es en este archivo en donde debo recorrer la matriz para el pintado de otros objetos. No lo paso como controller.view porque necesito que la respuesta permanezca en su misma ruta.
Saludos y nuevamente gracias.
Martín.
Entiendo que la funcion dunPost_edt reconozca el contenido de la respuesta obtenida desde el MsgServer, pero esta funcion sigue estando en JS y en mi caso, mi incognita viene en como le paso esa referencia de variable array (hDataString) al archivo vista_upd.view , cuyo contenido es basicamente prg, lo que pasa es que es en este archivo en donde debo recorrer la matriz para el pintado de otros objetos. No lo paso como controller.view porque necesito que la respuesta permanezca en su misma ruta.
Saludos y nuevamente gracias.
Martín.
-
- Mensajes: 20
- Registered for: 4 years
Ya probaste definir el: "dunPost_edt" en la vista, es decir en el mismo prg que lo llama, creo que te debería funcionar pues lo llamas del mismo y no usas un controller. El controller te serviría para hacer la llamada al modelo, pero como lo haces directo de la vista te regresa a la misma. Creo que en tweb.v2 hay ejemplos de eso.