Javascript 在对象内部使用Ajax.Request-response原型JS

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

在过去的两个小时里,我一直在尝试将responseText传递给我正在调用Ajax.Request的对象。但这并没有发生:)这是代码

    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;
  }
 });