Tengo un .js donde al pulsar un botón llamo a una función (peticion) para hacer una instancia de una clase(peti) con la que voy a hacer la petición ajax al servidor.
Con el objeto/instancia creado (p), llamo al método(hacer_peti) para que haga la petición al servidor y me devuelva la respuesta (funtion respuesta).
El problema que tengo es que al hacer return dentro de respuesta, no consigo devolver a la instancia creada en un principio ese valor.
He probado a intentar hacerlo con variable global y tampoco me sale.
Os dejo por aquí el código de "miapp.js" donde creo la instancia:
Citar
$(function(){
$("#bt_peti").click(peticion);
});
function peticion() {
var p = new peti();
alert(p.hacer_peti());
}
$("#bt_peti").click(peticion);
});
function peticion() {
var p = new peti();
alert(p.hacer_peti());
}
Y por aquí el código de "clases.js" donde tengo la clase peti:
Citar
// PETICIONES AJAX
function peti() {
this.hacer_peti = function() {
$obj = {
nombre: "pepito"
};
$.ajax({
url: "peticion.php",
type: "POST",
data: JSON.stringify($obj),
datatype: "json",
success: respuesta,
error: error
});
function respuesta(d) {
return(d);
}
function error(e) {
alert("Error: " + JSON.stringify(e));
}
}
}
function peti() {
this.hacer_peti = function() {
$obj = {
nombre: "pepito"
};
$.ajax({
url: "peticion.php",
type: "POST",
data: JSON.stringify($obj),
datatype: "json",
success: respuesta,
error: error
});
function respuesta(d) {
return(d);
}
function error(e) {
alert("Error: " + JSON.stringify(e));
}
}
}
LLevo rato intentando solucionarlo y creo que al hacer return dentro de function respuesta, no devuelve ese dato a la instancia creada de miapp.js sino que lo devolverá al success de la petición $.ajax. Ojalá puedan ayudarme, no se muy bien qué hacer para solucionarlo.
Un saludo y muchas gracias de antemano.