Javascript 在对象内部使用Ajax.Request-response原型JS
在过去的两个小时里,我一直在尝试将responseText传递给我正在调用Ajax.Request的对象。但这并没有发生:)这是代码Javascript 在对象内部使用Ajax.Request-response原型JS,javascript,class,object,prototypejs,ajax.request,Javascript,Class,Object,Prototypejs,Ajax.request,在过去的两个小时里,我一直在尝试将responseText传递给我正在调用Ajax.Request的对象。但这并没有发生:)这是代码 var traziSuggest = Class.create({ initialize:function( elemenat, sugDiv ) { this.elemenat = $( elemenat ); this.elemenat.onkeyup = this.uzmiSug.bindAsEventListener
var traziSuggest = Class.create({
initialize:function( elemenat, sugDiv )
{
this.elemenat = $( elemenat );
this.elemenat.onkeyup = this.uzmiSug.bindAsEventListener(this);
this.elemenat.onkeydown = this.uzmiSug.bindAsEventListener(this);
this.rezultat = new Array();
this.sugDiv = $( sugDiv );
this.prethodnaDuzina = this.elemenat.value.length;
},
uzmiSug:function()
{
this.novaDuzina = this.elemenat.value.length;
if ( this.novaDuzina > 3 && this.novaDuzina != this.prethodnaDuzina )
{
new Ajax.Request( '/ajax/traziSuggest.php?sta=mjesto&q=' + this.elemenat.value ,
{
method: 'get',
onSuccess: function(transport)
{
traziSuggest.rezultat = transport.responseText;
}
});
this.prikaziSug;
}
else
{
this.sugDiv.hide();
}
this.prethodnaDuzina = this.novaDuzina;
},
prikaziSug: function()
{
var zemlje = this.rezultat.zemlje;
var mjesta = this.rezultat.mjesta;
var lokacije = this.rezultat.lokacije;
}
});
因此,我需要将transport.responseText传递给对象this.rezultat变量。
有什么建议吗?您可以创建一个闭包,如下所示:
if ( this.novaDuzina > 3 && this.novaDuzina != this.prethodnaDuzina )
{
var self = this;
new Ajax.Request( '/ajax/traziSuggest.php?sta=mjesto&q=' + this.elemenat.value ,
{
method: 'get',
onSuccess: function(transport)
{
self.rezultat = transport.responseText;
}
});