正如标题所说,我正在尝试使用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确定......
提前致谢!
答案 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();
}