Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 5329 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)
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Mit zusammengesetzter Variable auf andere Variable zugreifen (2)

Frage von abiber zum Thema Batch & Shell ...

Windows 7
TeamViewer 12 normale Version automatisch Konto zuweisen

Frage von Ghost108 zum Thema Windows 7 ...

Ubuntu
gelöst PHP-Version mit Bash in Variable schreiben? (11)

Frage von StefanKittel zum Thema Ubuntu ...

Batch & Shell
gelöst Powershell Variable mit einem Operator versehen (11)

Frage von pixel0815 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (25)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
Welches OS für Firmengeräte? (17)

Frage von MarkusVH zum Thema Windows 10 ...

Server-Hardware
gelöst Erfahrungswerte Hardwaresupport physikalische Server (16)

Frage von Devilx zum Thema Server-Hardware ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (15)

Frage von bogi1102 zum Thema Exchange Server ...