Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Frage Entwicklung JavaScript

Mitglied: msr972

msr972 (Level 1) - Jetzt verbinden

21.09.2011, aktualisiert 17:19 Uhr, 5516 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
VB for Applications
gelöst Vbscript Fehlercode: Object required (2)

Frage von aletri zum Thema VB for Applications ...

Batch & Shell
gelöst Mit zusammengesetzter Variable auf andere Variable zugreifen (2)

Frage von abiber zum Thema Batch & Shell ...

Windows Server
gelöst GPO einem Benutzer zuweisen (6)

Frage von Raucherbein zum Thema Windows Server ...

Debian
gelöst Bereitgestellter Speicher einer Boot-Partition zuweisen !? (5)

Frage von N4m3n7os3r zum Thema Debian ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

Windows Update
WSUS 4 (Server 2012 R2) - Windows 10 Updates nicht möglich (12)

Frage von c0d3.r3d zum Thema Windows Update ...

Server-Hardware
Bestehendes Raid erweitern um 4 gleiche Platten! (Verständnis Fragen) (12)

Frage von Hendrik2586 zum Thema Server-Hardware ...