[Erledigt] OpenLayers.Request Rücklauf zuordnen

Hallo, ich habe da mal eine Frage zu Openlayers.

if (thumbURL) {

				result.push (' <a target="_blank" href="' + this.html(imageSourceURL) + '"><img src="' +
					this.html(thumbURL) + '" onload="' + imgOnload + '" alt="loading..."></a> <div id="attribution">&nbsp;</div>');

				// '../c/attribution.php?image=' abrufen			
				OpenLayers.Request.GET({
					url: this.html(attribURL),
					success: function(request) {
						document.getElementById('attribution').innerHTML = request.responseText;
						document.getElementById('attribution').id = 'attrib';
					}
				});

			}

Beim Aufbau des Popup wird das orbrige Schnipsel für jedes Objekt, dass im Popup gezeigt werden soll ausgeführt.
Da die Antwort aus der attribution.php nicht zwangsläufig in der Reihenfolge zurück kommt, wie die Anfrage aufgerufen wird, habe ich gelegentlich ein wildes durcheinander…

Ich generiere für jedes Bild ein div mit id=“attribution” und die eingehenden Antworten werden naturgemäß von oben nach unten zugeordnet.
Nun kann ich jedem div eine igene ID geben und diese ID als Parameter mit an die php-Datei übergeben, diese gibt zusätzlich zum gewünschten Inhalt auch diese ID zurück, über die ich die Antwort eindeutig zuordnen könnte, aber irgendwie erscheint mir das zu umständlich… Wie kann ich einfach den Aufruf der php-Datei umsetzen und die Antwort dem richtigen Bild zuordnen? Ideen?

Habe die Lösung selber gefunden :slight_smile:

Aus dem Code oben wird einfach nur:

			if (thumbURL) {

				result.push (' <a target="_blank" href="' + this.html(imageSourceURL) + '"><img src="' +
					this.html(thumbURL) + '" onload="' + imgOnload + '" alt="loading..."></a> <div id="PIC' + data.id + '">&nbsp;</div>');

				// '../c/attribution.php?image=' abrufen			
				Pic_attribution ('PIC' + data.id,attribURL);

			}

Und dafür zusätzlich am Anfang der gleichen Datei ein nettes Plätzchen für die folgende Funktion gesucht:

//------------------------------------------------------------------------------
//	Bild-Attribution nachladen
//------------------------------------------------------------------------------

function Pic_attribution (divID,attribURL) {

	function onSuccess (request) {
		document.getElementById(divID).innerHTML = request.responseText;
	}

	function onFailure (request) {
		alert ('Download Image-Attributes failed!');
	}

	OpenLayers.Request.GET({
		url: attribURL,
		success: onSuccess,
		failure: onFailure,
	});
}

Und schon ist das Durcheinander beseitigt :slight_smile:
Warum sagt mir keiner, dass es so einfach ist? :smiley: