jQuery: $.post Rückgabewert als Rückgabewert der Funktion - geht das?

Kryptaesthesie

Erfahrenes Mitglied
Guten Tag,

ich tüftel gerade mit JQuery und den Ajax-Abfragen.
Ich möchte gerne den Rückgabewert der Ajaxabfrage als Return-Wert der Funktion haben. Geht das irgendwie?

Code:
  function getAdressByID(id, path)
  {
      var res = "";
      path = path + "ajax/getAdresseByID.jsp";
      
      if(id != undefined && id != "")
      {
          loadResource = path;
          $.post(loadResource,
                       { addrID: id },
                       function(data) { /* Rückgabe der JSP verarbeiten */
                                                  var res = data;
                                              },
                       "html");
      }
      
      return res;
  }
Die Daten kommen richtig zurück! Also in 'data' steht der Wert, den ich erwarte. Aber wie bekommen ich es hin, dass der Inhalte der Rückgabewert von getAdressByID() ist?

Danke schon mal für eure Hilfe!
Gruß
Gerrit
 
Hi,

das wird wohl nicht möglich sein. Da es sich bei AJAX um einen asynchronen Programmablauf handelt, wartet die Funktion nicht, bis der Request beendet wurde, sondern läuft weiter. Die Funktion ist im allgemeinen schon beendet, bis der Request ausgeführt wurde - weder eine Rückgabe, noch eine Zuweisung sind also möglich.

Ciao
Quaese
 
Hey super :)
Der Link hat mir weitergeholfen und alles klappt, wie ich's mir vorstelle!

Vielen Dank an euch beide! :)


Gruß
Gerrit


PS:
und sieht nun so aus:
Code:
  function getAdressByID(id, path)
  {
  	var res = "";
  	path = path + "ajax/getAdresseByID.jsp";
  	
  	if(id != undefined && id != "")
  	{
	  	loadResource = path;
	  	
	  	res = $.ajax({
	  	  type: "GET",
	  	  url: loadResource,
	  	  data: { addrID: id },
	  	  async: false
	  	}).responseText;

  	}
  	
  	return res;
  }
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück