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, 5692 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
Batch & Shell

Dateinamen mit Punkt einer Variablen zuweisen

gelöst Frage von DanilowitzBatch & Shell4 Kommentare

Hallo Leute, Bin neu hier im Forum und hätte eine Frage zur Batchprogrammierung, zu welcher ich im Internet keine ...

Batch & Shell

Batch: Variable einen Wert zuweisen

gelöst Frage von veniplexBatch & Shell7 Kommentare

Hallo zusammen! Ich bin gerade am verzweifeln Ich habe in Batch 2 Variablen: Wenn ich mir von diesen den ...

Batch & Shell

Netzwerkkarte Variable zuweisen

gelöst Frage von Patrick-ITBatch & Shell3 Kommentare

Hallo liebes Forum Ich versuche nun schon seit einigen Tagen in Batch die Netzwerkkarten automatisch mit einer automatisch zugewiesenen ...

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 ...

Neue Wissensbeiträge
Windows Server
Erneutes Release von WS2019 und Win10 v1809
Tipp von IT-Pro vor 6 StundenWindows Server3 Kommentare

Hi, nachdem der Windows Server 2019 und Windows 10 in der Version 1809 aufgrund von verschwinden von Dateien nach ...

CPU, RAM, Mainboards
Spectre Update Tool für ältere PCs
Information von sabines vor 9 StundenCPU, RAM, Mainboards6 Kommentare

Mit Hilfe eines Tools wird der betreffende PC permanent von einem USB Stick gestartet, der ein passendes Microcode Update ...

Windows 10
Windows 10 Oktober 2018 Update: Es ist wieder da
Tipp von Bowsette vor 17 StundenWindows 101 Kommentar

Ein neuer Versuch von Microsoft das Windows 10 Oktober 2018 Update, auch bekannt als 1809, an den Mann zu ...

Windows Server

Windows Server 2016: Achtung - ab heute gibt es wieder Express Updates

Information von kgborn vor 1 TagWindows Server1 Kommentar

Kurze Info für Administratoren, die Windows Server 2016 per WSUS/SCCM mit Updates betanken. Ab heute gibt es für Windows ...

Heiß diskutierte Inhalte
Windows Server
Windows Server 2016 Lizenzierung - 7 Hyper V VMs
Frage von staybbWindows Server18 Kommentare

Hallo zusammen, wir haben zwei HP Server gekauft mit jeweils pro Server 2 CPUs à 10 Cores. Also insgesamt ...

Batch & Shell
Ordnernamen mit String aus Ziffern-Zahlenkombination erstellen
Frage von MmarKussBatch & Shell15 Kommentare

Hallo zusammen, ich habe ein etwas komplexeres Problem, welches ich selbst mittels einer Batch-Datei lösen will / muss, da ...

Windows Server
Lohnt sich eine Domäne für uns?
Frage von BowsetteWindows Server12 Kommentare

Hallo, ich arbeite in einem kleinen Unternehmen mit mehr als 5 und weniger als 10 Mitarbeitern, also Small Business ...

Windows Server
AD Password Reminder Mail
Frage von TeutoneWindows Server10 Kommentare

Hallo liebe Leute, ich habe vor langer Zeit einmal ein Password Reminder Mail Script erstellt, welches nun nicht mehr ...