Muchas gracias por responder, tal vez estoy mas ofuscado de lo que pienso, pero en verdad me esta sobre escribiendo el metodo/función, verás tengo dos clases Core.js y Session.js, en ambas tengo un metodo llamado "request" que envia una petición Ajax según los parámetros enviados:
Core.js
Código Javascript
:
Ver originalvar Core = function() {
//otras propiedades y metodos
request = function(urlAjax,tipo,datosTipo,callback,historial) {
debug('Ajax: nueva petición del tipo ' + tipo + ' a ' + urlAjax);
removeDinamicEvents();
var connect = $.ajax({
url: urlAjax,
type: tipo,
cache: false,
dataType: datosTipo
});
var responseAjax = null;
ajaxNotification(urlAjax,tipo);
connect.done(function(data) {
debug('Ajax: respuesta satisfactoria');
debug('Ajax: guardamos la peición como la ultima enviada');
_ultPeticion = {
'urlAjax': urlAjax,
'tipo': tipo,
'datosTipo': datosTipo,
'callback': callback,
'historial': historial
}
if (callback != 'return') {
debug('Ajax: enviamos los datos obtenidos a la función callback ' + callback);
window[callback].apply(null, [data,urlAjax,historial]);
}else {
debug('Ajax: retornamos los datos');
responseAjax = data;
}
});
connect.fail(function(jqXHR, error) {
debug('Ajax: petición fallida, error ' + error);
if (callback != 'return') {
debug('Ajax: enviamos los datos obtenidos a la función callback ' + callback);
window[callback].apply(this, [jqXHR.responseXML,urlAjax,historial]);
}else {
debug('Ajax: retornamos los datos');
responseAjax = data;
}
});
}
}
Session.js
Código Javascript
:
Ver originalvar Session = function() {
sessionRequest = function(urlAjax,tipo,callback,vars) {
debug('Session: nueva petición ajax');
if (typeof vars == 'undefined') {
var connect = $.ajax({
url: urlAjax,
type: tipo,
cache: false
});
}else {
var connect = $.ajax({
url: urlAjax,
type: tipo,
cache: false,
data: vars
});
}
var responseData;
connect.done(function(data) {
debug('Session: petición recibida con exito');
if (callback != 'return') {
debug('Session: llamando a la función ' + callback);
window[callback].apply(null, [data]);
}else {
debug('Session: guardamos el resultado para retornarlo');
responseData = data;
}
});
connect.fail(function(jqXHR,error) {
debug('Session: error al recibir la petición, error ' + error,'warn');
});
if (typeof responseData != 'undefined') {
debug('Session: retornamos el valor!');
return responseData;
}
}
}
Ambos metodos son muy parecidos, pero dentro de su ambito no lo son, el problema esta que las llamadas a dicho metodo dentro de cada clase siempre me las envia a la clase que se estancia al final, por lo cual se sobre escribe el primer metodo, al final, "window[callback]" me produce error porque no recibe el nombre de alguna función, si no recibe "tipoDato" (que puede ser XML, JSON, HTML), estoy buscando una solución pero no la encuentro, si te das cuenta, al final para seguir avanzando eh cambiado los nombres de los metodos, pero para mi eso es solo un parche, no una solución real, aun así sigo buscando como evitar este problema...
Gracias por tu tiempo en leer y contestar...
Nota: el metodo debug también se sobre escribe, aunque hay no tengo problema porque el metodo es el mismo en ambas clases...