Заполнение объекта с помощью Ajax и Jquery

#javascript #ajax #jquery

#javascript #ajax #jquery

Вопрос:

Как следует из названия, я пытаюсь заполнить свойства объекта с помощью jQuery-Ajax. Я пытался найти правильный способ сделать это в течение нескольких часов, но не мог заставить его работать…

Это мой код:

 function Persona(){
    this.nombre;
    this.apellido;
    this.buscarNombre= function(callback){
    $.get("nombre.php", function(datos){
        datos = eval("("   datos   ")");
        this.nombre = datos.nombre;
        this.apellido = datos.apellido;
        alert(this.nombre);
      })
    };
}

$(document).ready(function(){
       var pp = new Persona();
       alert(pp.nombre);

}
  

Я думаю, что проблема заключается в области действия функции, которая извлекает данные с сервера, она отличается от области действия объекта, но я не понимаю, как передавать данные из одного места в другое…

Данные отлично поступают с веб-сервера… Я использовал FireBug, чтобы быть уверенным…

Заранее спасибо!

Комментарии:

1. вам нужно вызвать фактическую функцию? pp.buscarNombre(); ?

Ответ №1:

если вы замените alert(pp.nombre); на pp.buscarNombre(); . Вы получите желаемые результаты. И ваша эта ссылка неверна:

 function Persona(){
    var self = this;    
    this.nombre;
    this.apellido;

    this.buscarNombre= function(callback){
        $.get("nombre.php", function(datos){
            datos = eval("("   datos   ")");
            self.nombre = datos.nombre;
            self.apellido = datos.apellido;
            alert(self.nombre);
        })
    }
}

$(document).ready(function(){
       var pp = new Persona();
       pp.buscarNombre();    
}