使用Ajax和Jquery填充对象

时间:2011-09-30 14:16:42

标签: 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);

}

我认为问题是从服务器检索数据的函数的范围,它与对象的范围不同,但我没有意识到如何将数据从一个地方传递到另一个地方... < / p>

数据完全从网络服务器到达......我使用FireBug确定......

提前致谢!

1 个答案:

答案 0 :(得分:3)

如果您将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();    
}