Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst JSON Object auf Variable zuweisen

Mitglied: msr972

msr972 (Level 1) - Jetzt verbinden

21.09.2011, aktualisiert 17:19 Uhr, 5726 Aufrufe

Hallo administrator.de Mitglieder,

ich habe scheinbar gerade ein riesen Brett vor dem Kopf und komme mit jQuery / JSON / PHP nicht weiter. Deshalb wäre ich über eine kurze Hilfe dankbar.

Ich habe eine Seite, die u.A. auf jQuery basiert. Nun habe ich eine PHP Datei, die ich sowohl im PHP Bereich benötige (für includes) als auch für JS/JQuery. Dafür habe ich eine $_GET Abfrage drinnen, die das entsprechende als JSON Daten zurückliefert.
constants.php
01.
<?php
02.

03.
	$customerStatus[1]		= "Aktiv";
04.
	$customerStatus[98]		= "Hinweis zur Sperrung";
05.
	$customerStatus[99]		= "Gesperrt";	
06.

07.
	$constructionStatus[1]	= "Aktiv / Nur Webseite";
08.
	$constructionStatus[2]	= "Aktiv / Webseite + AÜ";
09.
	$constructionStatus[91]	= "Web / Hinweis zur Beendigung / Sperrung";
10.
	$constructionStatus[92]	= "Web + AÜ / Hinweis zur Beendigung / Sperrung";
11.
	$constructionStatus[99]	= "Gesperrt";
12.

13.
	if( $_GET['type'] == 'customers' ) {
14.
		print json_encode($customerStatus);
15.
	} else if ( $_GET['type'] == 'constructions' ) {
16.
		print json_encode($constructionStatus);
17.
	}
18.
	
19.
?>
Nun gibt es eine application.js die eigentlich nur den ausgelagerten JS/jQuery Code beinhaltet (also ab $(document).ready(function() )

Darin enthalten sind u.A.
01.
	function getConstants(type) {
02.
		$.ajax({
03.
			type: 'GET',
04.
			url: '/dh/constants.php',
05.
			dataType: 'json',
06.
			data: "type="+type,
07.
			success: function(data){
08.
				return data;
09.
			}
10.
		});
11.
	};
und
01.
	function getCustomerDetails(custID){
02.
		var tempdata = "";
03.
		$.ajax({
04.
			url: '/dh/customerDetails.php',
05.
			dataType: 'json',
06.
			data: "custID="+custID,
07.
			beforeSend: function() {
08.
				$("#helpercontent").css('display','none');
09.
			},
10.
			success: function(data){
11.
                                // Bischen code entfernt, da nicht relevant
12.
				var test = getConstants('customers');
13.
				console.log( "TEST: "+test );
14.
				$.each( test, function(key, value) {
15.
					if( key == data.custStatus ) {
16.
						$('<option value="'+key+'" selected>'+value+'</value>').appendTo("#custStatus");
17.
					} else {
18.
						$('<option value="'+key+'">'+value+'</value>').appendTo("#custStatus");
19.
					}
20.
				});
21.
			}
22.
		});
23.
	};
Beim Aufruf eines bestimmten Links wird die Funktion getCustomerDetails() mit Parameter aufgerufen und die Daten aus der DB geladen. Das funktioniert soweit so gut.
Es sollte dann ebenfalls im success: Teil eine Zuweisung der var test erfolgen. Dies passiert über den Funktionsaufruf zu getConstants('customers').
Nur bleibt die var test einfach leer bzw. sie hat NULL als Wert.

Natürlich habe ich auch schon in der PHP ein echo/print durch ein return ersetzt und bin auf keinen grünen Zweig gekommen. Die Funktion getConstants liefert auch ein JSON Object zurück, ich seh es ja in Firebug. Aber wieso bekommt die Variable den Wert bzw. das JSON Object nicht zugewiesen?

Bin dankbar für jeden Tip..


Grüße





EDIT:

Ok, "Problem" gelöst..Das Brett konnte abgesägt werden..

Bei getConstants handelte es scih ebenfalls um einen async aufruf, wodurch test nicht befüllt werden konnte, da noch keine daten vorlagen. ich habe das problem QnD gelöst, indem ich die entsprechenden Punkte direkt in die getConstants eingepackt habe.
Sicherlich keine saubere Lösung und muss noch geändert werden (z.B. Callback)
Ähnliche Inhalte
Entwicklung
Json, Powershell und Arrays
gelöst Frage von SunnyRainyDayEntwicklung6 Kommentare

Moin Zusammen, Mit Sicherheit gibt es hier jemanden der mir mit meinem Powershell-Problem behilflich sein kann :) Ich stehe ...

Batch & Shell
PowerShell Compare-Object
gelöst Frage von derhoeppiBatch & Shell1 Kommentar

Hallo mit Hilfe von Compare-Object vergleiche ich zwei Array. Dabei kommen einige Unterschiede heraus. Ich habe ein führendes Array ...

Batch & Shell
PowerShell Object problem
gelöst Frage von CloudyBatch & Shell3 Kommentare

Hallo, ich habe aktuell ein kleines Problem. Ich erhalte eine CSV Datei mit den Spalten Standort und IP-Adresse zu ...

VB for Applications
Vbscript Fehlercode: Object required
gelöst Frage von aletriVB for Applications2 Kommentare

Guten Morgen seh vor lauter Bäume den Wald nicht mehr! bei Ausführen des Cods kommt folgende Fehlermeldung: Line:9 Char:1 ...

Neue Wissensbeiträge
Humor (lol)
Und wie seid Ihr gegen Cyberattacken gewappnet?
Information von DerWoWusste vor 18 StundenHumor (lol)4 Kommentare

aber wo ist der Hammer? :-)

Sicherheit
Ein weiterer Microsoft-Stirnklatscher
Information von DerWoWusste vor 1 TagSicherheit7 Kommentare

Habe gerade einen Artikel zu einem Sicherheitsproblem gefunden, welches mir zu seiner Zeit (gepatcht 2015) wohl durchgerutscht ist. Es ...

Windows 10
Upgradepfade Windows 10 LTSC
Erfahrungsbericht von Datenreise vor 1 TagWindows 10

Nur eine kurze Info, für diejenigen, die es interessiert, da es hierzu im Netz aus nachvollziehbaren Gründen nicht allzu ...

Administrator.de Feedback
Wartungsarbeiten heute Nacht (Update)
Information von Frank vor 1 TagAdministrator.de Feedback10 Kommentare

Hallo User, durch Umbauarbeiten in unserem Rechenzentrum (am Backbone) kann es heute Nacht (14-15.01.2019) zu kurzen Ausfällen unserer Seite ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 - kein Boot mehr nach Domänenaustritt
gelöst Frage von Ghost108Windows 1025 Kommentare

Hallo zusammen, habe hier eine Windows 10 Maschine, die ich gerne aus der Domäne austreten lassen möchte. Nach Austritt ...

Windows 10
Windows 10 1803 - nicht identifiziertes Netzwerk - kein Login an Domäne möglich
Frage von Tomy389Windows 1021 Kommentare

Hallo Zusammen, ich hoffe zu dem Thema gibt es nicht schon einen Thread aber ich sollte eigentlich schon alles ...

Exchange Server
Microsoft Exchange Ser ver 2016 CU 8 auf den neuesten Stand bringen
gelöst Frage von Hendrik2586Exchange Server20 Kommentare

Hallo an euch alle. :) Kurze Frage. Ich habe hier einen Exchange Server wie o.g. Problem ist das wir ...

Microsoft
SFirm 4.0 auf Terminalserver startet für jeden angemeldeten Benutzer diverse Dienste
Frage von Frank84Microsoft17 Kommentare

Hallo zusammen, wir verwenden Sfirm 4.0 auf einem Terminalserver (der SQL Server ist auf einem separaten Server), das Problem ...