Contexto de las variables
Hola amigos. La verdad es que me sucede lo siguiente. Cuando ejecuto una petición Ajax, en la función Success no se como poder asignarle un valor retornado por una de esas funciones a una variable global, por que simplemente no se lo asigna. Alguien me podría ayudar con esto?. Aquí esta mi código.
var nombre_categoria_padre = 'Elementos De Configuracion';
var clase_css_categoria_padre = 'css_class_blue_folder';
Ext.Ajax.request({
url: 'index.php/categoria/obtener_categoria_root',
method: 'POST',
success: function (form, action) {
var resultado = Ext.decode(form.responseText);
nombre_categoria_padre = resultado.data.nombre_categoria;
clase_css_categoria_padre = resultado.data.nombre_c_css;
},
failure: function (form, action) {
var resultado = Ext.decode(action.response.responseText);
Ext.Msg.alert('Error !', 'No se ha logrado cargar el nombre del elemento padre para las categoriías.');
}
});
var rootNode = new Ext.tree.AsyncTreeNode({
expanded: true,
allowDrop: false,
id: '0',
draggable: false,
text: nombre_categoria_padre,
iconCls: clase_css_categoria_padre
});
Aquí si se dan cuenta, en el RootNode, a su propiedad text le intento asignar una variable pero esta no me la reconoce. Me da que es el valor que tiene arriba o sea "Elementos De Configuración", cuando debería ser lo que me devuelve la petición Ajax.
Hola, prueba a asignarle la propiedad scope:this a tu Ext.Ajax.Request, asi:
Ext.Ajax.request({
url: 'index.php/categoria/obtener_categoria_root',
method: 'POST',
success: function (form, action) {
var resultado = Ext.decode(form.responseText);
nombre_categoria_padre = resultado.data.nombre_categoria;
clase_css_categoria_padre = resultado.data.nombre_c_css;
},
failure: function (form, action) {
var resultado = Ext.decode(action.response.responseText);
Ext.Msg.alert('Error !', 'No se ha logrado cargar el nombre del elemento padre para las categoriías.');
},
scope: this
});
y me cuentas :-?
¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook
Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.