Saludos a todos/as.
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());
}
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));
      }
   }
}
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.