+ Antworten
Ergebnis 1 bis 6 von 6

Thema: [jQuery] var Wert wird nicht übernommen

  1. #1
    nox
    nox ist offline
    Ich :)
    Registriert seit
    22.11.2006
    Ort
    Haan
    Beiträge
    105

    Standard [jQuery] var Wert wird nicht übernommen

    Hi,

    ich hab ein kleines Problem und weiss leider keine Lösung dazu, vielleicht hat ja jemand eine Idee.

    Folgendes, ich nutze das jQuery Framework und möchte folgendes ausführen.
    HTML-Code:
    var my_lastchecktime = "0";
    
    	function tickevents() {
    
    		$.ajax({ 
    		  type: "GET", 
    		  url: "ajax.php", 
    		  data: "request=eventticker&ct=" + my_lastchecktime,
    		  success: function(msg){ 
    
    			my_lastchecktime = msg['lasttime'];
    
    			for(i = 0; i < msg['count']; i++)
    			 {
    				$("#ticker li:last").hide().remove(); 
    				$("#ticker").before("<li>" + msg['ticker'][i] + "</li>").fadeIn("slow");
    			 }
    
    		  } 
    		});
    	} 
        setInterval(tickevents, 1000);
    
    Es ist ein einfacher Newsticker, jedoch funktioniert eine Grundlegende Funktion nicht wirklich. Die Rückgabe erfolgt durch PHP im JSON-Format, und "msg['lasttime']" ist gesetzt, jedoch nur beim ersten Durchgang. Ich bin ehrlich gesagt ein wenig am verzweifeln und weiss nicht weiter, weil ich auch nicht der Javascript-Programmierer bin.

    Vielleicht noch Interessant zu Wissen:
    "my_lastchecktime" ist ab dem zweiten Durchgang "undefined"

    Bin für jede Hilfe Dankbar!

    Gruß nox
    Geändert von nox (13.01.2009 um 01:17 Uhr)

  2. #2
    Projektleiter
    Registriert seit
    30.11.2005
    Ort
    Bottrop
    Beiträge
    1.419

    Standard

    Es wär praktisch zu wissen, was genau der Ajax-Request dir zurück gibt. Wandle doch mal das ganze wieder in einen JSON-String um und gib den aus.

  3. #3
    nox
    nox ist offline
    Ich :)
    Registriert seit
    22.11.2006
    Ort
    Haan
    Beiträge
    105

    Standard

    Hi,

    der Rückgabe Wert sieht wie folgt aus:

    Erster Durchgang:
    Code:
    {"lasttime":1231852725,"checktime":"0","ticker":["roger<\/strong> sieht sich seine Projekte an","roger<\/strong> sieht sich seine Projekte an","roger<\/strong> hat sich gerade angemeldet","roger<\/strong> hat sich gerade abgemeldet","roger<\/strong> sieht sich seine Projekte an"],"count":5}
    
    Weitere Durchgänge:
    Code:
    {"lasttime":1231852726,"checktime":"undefined","ticker":["roger<\/strong> sieht sich seine Projekte an","roger<\/strong> sieht sich seine Projekte an","roger<\/strong> hat sich gerade angemeldet","roger<\/strong> hat sich gerade abgemeldet","roger<\/strong> sieht sich seine Projekte an"],"count":5}
    
    Man sieht also das die Variable my_lastchecktime nicht auf den neuen Rückgabe-Wert überschrieben wird. Und genau da liegt mein Problem.

    Gruß nox

  4. #4
    Projektleiter
    Registriert seit
    30.11.2005
    Ort
    Bottrop
    Beiträge
    1.419

    Standard

    Wahrscheinlich liegt dann das Problem eher beim Server, also der ajax.php
    Überprüf dort mal, was dir als Wert für ct gegeben wird und warum das nicht entsprechend übernommen wird.

  5. #5
    nox
    nox ist offline
    Ich :)
    Registriert seit
    22.11.2006
    Ort
    Haan
    Beiträge
    105

    Standard

    Zitat Zitat von pago Beitrag anzeigen
    Wahrscheinlich liegt dann das Problem eher beim Server, also der ajax.php
    Überprüf dort mal, was dir als Wert für ct gegeben wird und warum das nicht entsprechend übernommen wird.

    Der Part aus der ajax.php ist folgender:
    PHP-Code:
            $eventLogger = new eventLogger();
            
    $list $eventLogger->get_event_list('5'"WHERE e.`event_time` > '" . (int) $_REQUEST['ct'] . "'");
            
    $elements = array();
            
            foreach(
    $list as $li)
             {
                
    $elements[] = sprintf($eventLogger->_event_messages[$li['event_type']], '<strong>' $li['user_name'] . '</strong>');
             }
        
            echo 
    array2json(array(
                
    'lasttime' => time(),
                
    'checktime' => (int) $_REQUEST['ct'],
                
    'ticker' => $elements,
                
    'count' => count($elements)
            ));
                    exit; 
    Du könntest recht haben, denn wenn ich direkt nach der success-Funktion ein:
    HTML-Code:
    alert(msg['lasttime']);
    
    schreibe, erhalte ich direkt nach dem ersten Durchgang ein "undefined"

    Gruß nox

  6. #6
    nox
    nox ist offline
    Ich :)
    Registriert seit
    22.11.2006
    Ort
    Haan
    Beiträge
    105

    Standard Lösung

    Hi,

    so habs hinbekommen, habe einfach nur vergessen jQuery zu sagen das es sich um einen JSON-Rückgabewert handelt.

    Die ist einfach mit:
    HTML-Code:
    dataType: "json"
    
    zu machen.

    Gruß nox

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 19.10.2006, 18:54
  2. Wert Varible in Listener anderer Klasse nutzen???
    Von risa im Forum Desktop-Applikationen und Grafik
    Antworten: 1
    Letzter Beitrag: 03.04.2006, 07:36
  3. Mit Checkbox bestimmten Wert Ändern
    Von Chriscom im Forum Datenbanken
    Antworten: 12
    Letzter Beitrag: 14.03.2006, 08:36
  4. Modifier haben einen Wert, obwohl keine gedrückt sind
    Von materthron im Forum Desktop-Applikationen und Grafik
    Antworten: 3
    Letzter Beitrag: 06.11.2005, 16:28
  5. [PHP] Kontrollstrukturen in PHP
    Von Jann Hendrik im Forum Tutorials
    Antworten: 7
    Letzter Beitrag: 09.12.2004, 21:28

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein

Impressum · Tutorials · Nutzungsbedingungen · thematisch sortierte Linklisten · Spendenaufruf · Team · Partnerprojekte

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48