正如标题所示,我正在尝试使用 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 来确保...
提前致谢!
最佳答案
如果将 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();
}
关于javascript - 使用 Ajax 和 Jquery 填充对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7611687/