Ajax Request mit JSON - Variablen benutzen

dennis-sauer

Erfahrenes Mitglied
Hallo zusammen,

ich benutze folgendes Script in meiner Seite:

Code:
var old_count = <?php echo $_SESSION["technic"] ?>;

       function repeatMe(){
         $.ajax({
          url: 'live_notifications/technic_open.php',
          dataType: 'json',
          cache: true,
          success: function(data) {

                if (data > old_count) {

            $.notification({
                title: 'Headline',
                content: 'Test',
                showTime: true,
                error: true, 
                icon: 'X'
                });

            }

                    old_count = data;
            }
         });
        }

        setInterval(repeatMe,1000);

Kann ich die von JSON ausgegebenen Variablen benutzen?

Als Beispiel:

Code:
content:'Der Computer in <echo name> Büro ist <echo status>'

Ich habs bisher mit '+data.name+' versucht, hatte aber keinen Erfolg. Hat jemand eine Idee?

Danke

Dennis
 
Zuletzt bearbeitet:
Hi,

wenn in data ein gültiges Objekt zurückgegeben wird, sollte die Verarbeitung wie von dir bereits versucht, funktionieren. Lass dir doch mit
Code:
console.log(data);
mal den Inhalt ausgeben und überprüfe, ob überhaupt das erwartete Objekt zurück gegeben wird.

Ciao
Quaese
 
Guten morgen,

also ich hab das nochmal versucht, im Text wird "undefined" ausgegeben.

Die Auswertung sieht folgendermaßen aus:

Code:
[Object, Object]
0: Object
art: "Computer"
bf_id: "4"
comment: "Test 1"
date: "1372880586"
id: "1"
status: "open"
status_change_date: ""
status_change_userid: ""
technik_id: "29"
user: "1"
__proto__: Object
1: Object
art: "Drucker"
bf_id: "4"
comment: "Test 1"
date: "1372880586"
id: "2"
status: "open"
status_change_date: ""
status_change_userid: ""
technik_id: "29"
user: "1"
__proto__: Object
length: 2
__proto__: Array[0]

Das sieht eigentlich ganz gut aus! <-- Denke ich zumindest
 
Ich hab nochwas versucht, so funktioniert es "teilweise":

Code:
          if (data > old_count) {
$.each( data, function(key, val) {
	$.notification({
		title: 'Neue technische St&ouml;rung!',
		content: '<br> '+val.art+' Es wurde eine neue technische St&ouml;rung eingetragen. F&uuml;r Details zu der St&ouml;rung bitte zur Technik-Kategorie gehen.<br><br> <a href="technik.php?content=technik&subcontent=overview">Zu den technischen St&ouml;rungen</a>',
		showTime: true,
		error: true, 
		icon: 'X'
		});

So kann ich die Daten mit val.XXX benutzen, aber jetzt werden mir natürlich alle vier Störungen angezeigt sobald eine neue Meldung reingeht. Sprich es werden dann z.B. 4 Meldungen gleichzeitig ausgegeben. Liegt wohl am $.each!
 
Hi,

dein Rückgabeobjekt ist ein Array - willst du auf die einzelnen Komponten zugreifen, erreichst du das über den Index.

Willst du z.B. das letzte Ereignis haben, so kannst du folgendes versuchen:
Code:
data[data.length-1].art
Ciao
Quaese
 

Neue Beiträge

Zurück