# in JavaScript-Funktion auf return warten



## riseX (26. November 2007)

Hallo,

ich denke die Überschrift sagt alles aus .. ich habe eine JavaScript-Funktion, welche eine andere JS-Funktion aufruft. Die Erste soll nun irgendwie auf den Return-Wert warten. Hat da jemand eine Idee ... über die SuFu hab ich nix gefunden...

Gruß
vom riseX


----------



## riseX (26. November 2007)

ja ok .. ich habe mich ein wenig dämlich ausgegdrückt.

Das Problem ist, dass die 2. Methode eine Ajax-Geschichte ist ... und die erst den Return zurückgibt, wenn req.status == 200 ist.

.. also in der Callback-Funktion

function HohlWasVomServlet() {
		var HttpMethod;
		var url = 'action=getStmIds';

		//Wenn keine HttpMethod gesetzt ist, wird POST genommen.
		if (!HttpMethod) {
			HttpMethod ="POST";
		}

		//holen des HTTPXMLRequests
		var req = getXMLHTTPRequest();
		if (req) {
			req.onreadystatechange = function callback () {
				if (req.readyState == 4) {
					if (req.status == 200) {
						return req.responseText
					}
				}
			}
		  	req.open(HttpMethod,'controllerServlet',true);
			req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			req.setRequestHeader('Content-Length',  url.length);
	        req.send(url);
	}


----------



## Quaese (26. November 2007)

Hi,

solange dein Request asynchron ist, ist es genau das Verhalten, dass erwartet wird.

Du kannst allerdings einen synchronen Request absetzen. Das hat zur Folge, dass die Programmausführung solange stoppt, bis der Request abgeschlossen ist.

```
req.open(HttpMethod,'controllerServlet', false);
```
Ciao
Quaese


----------

