2012-03-30 3 views
0

abgerufen habe Ich verwende jQuery, um Daten vom Server abzurufen. Daten kommen. Hier ist, was ich tueDaten werden nicht angezeigt, nachdem ich von JSON

$.ajax({ 

    url: "EventCalendar_Review", 
    dataType: "json", 
    success: function(data) { 

     console.log(data); 
     var a = data.eventTitle; 
     var b = data.fromDate; 
     var c = data.toDate; 
     var d = data.url; 

    }, //end of success 

    complete: function(request, textStatus) { 
     var req = request; 
     var status = textStatus;    
    } //end of complete 

}); //end of .ajax 

Datenvariable hat seine Daten im JSON-Format so etwas wie dieses

[object{ eventId=1, eventTitle="Khan to hold maide", fromDate="2012-03-06", toDate= "2012-03-07" more...}, Object { eventId=2, eventTitle="India tie not about revenge", fromDate="2012-03-06", more..}, ...] 

Die Daten werden in der Konsole zu drucken. Aber wenn ich bin mit knapp unter console.log (Daten)

console.log(data); 
var a = data.eventTitle; 
var b = data.fromDate; 
var c = data.toDate; 
var d = data.url; 

Dann ich bin immer, b, c und d nicht definiert. a sholud erhalten Wert von eventTitle (Khan, um Mädchen zu halten) und so weiter. Warum werde ich undefiniert?

Dank

+1

JSON verwendet Doppelpunkttrennzeichen zwischen Werten, nicht Gleichheitszeichen. –

Antwort

0

die so etwas wie macht es ein gültiges JSON-Objekt (http://jsonlint.com) Unter der Annahme, dann haben Sie ein Array von Objekten bekam:

for (var i=0;i<data.length;i++) { 
    var thisOne = data[i]; 

    var a = thisOne.eventTitle; 
    var b = thisOne.fromDate; 
    var c = thisOne.toDate; 
    var d = thisOne.url; 

    // do something with these variables. 
} 

Wenn Sie nur das erste Objekt möchten, Sie können data[0] verwenden, um darauf zugreifen:

var a = data[0].eventTitle; 
var b = data[0].fromDate; 
var c = data[0].toDate; 
var d = data[0].url; 
+0

@EvilP @JustinEthier Ja, Sie haben alle Recht. Ich habe falsch gemacht. Aber jetzt habe ich auf diese Weise und ich habe die Werte :). '$ .each (Daten, Funktion (Index, Ereignis) {abc.push ({title: event.eventTitle, start: event.fromDate, end: event.toDate, url: event.url});}); Danke an alle :) – Basit

0

es sieht aus wie Sie einen Array zurück bekommen. Was ist, wenn Sie versuchen, auf Ihre Daten per Index zuzugreifen:

var a = data[0].eventTitle; 
var b = data[0].fromDate; 
var c = data[0].toDate; 
var d = data[0].url; 
0

Da Ihr JSON ungültig ist!
JSON verwendet nicht = es verwendet : !!

"key":"value" statt "key"="value"
Scheint, wie Sie sind auch nicht zu empfangen und JSON-Objekt von Ihrem Server.
Sie erhalten eine Reihe von Objekten !!

+0

Sie haben Recht. JSON verwendet Schlüssel: Wert. Eigentlich benutze ich Google API, um meine Daten in JSON-Format zu konvertieren, deshalb kann ich Daten im Format "key" = "value" bekommen. Es ist JSON, deshalb erwähne ich meinen Datentyp JSON 'dataType:" json " – Basit

Verwandte Themen