jQuery Get Daten
hawkmaster
- javascript
0 1UnitedPower0 hawkmaster0 1UnitedPower0 molily
0 Bobby
Hallo zusammen,
ich bin noch nicht so fit mit jQuery und Ajax request.
Ich mache den Request wie folgt:
Auf der PHP Seite hole ich die Daten von einer MySQL DB und mache einen ;
$sqldatajson = json_encode($sqldata);
echo $sqldatajson;
$.get("getData.php",
{
number: oppnr
},
function(data){
alert(data.customername);//geht nicht ist leer
alert(data['customername']);//ist auch leer
alert(data);
});
der alert(data) bringt folgendes:
[{"number":"1","rating":"10","description":null,"customername":"Testkunde1","customernumber":"1","regname":"South-West","status":"Hallo"}]
Ich dachte man könnte nun gezielt den Kundenamen mit
data['customername']
herausbekommen.
Leider ist die Ausgabe aber leer.
Hat jemand eine Idee
vielen Dank und viele Grüße
hawk
Meine Herren!
[{"number":"1","rating":"10","description":null,"customername":"Testkunde1","customernumber":"1","regname":"South-West","status":"Hallo"}]
Ich dachte man könnte nun gezielt den Kundenamen mit
data['customername']
herausbekommen.
Dein JSON-Objekt besteht aus einer Liste [] von Objekten {}.
In diesem Fall besteht die Liste nur aus einem Listenelement.
Du kannst data[ 0 ][ 'customername' ]
schreibne, um den Kundennamen gezielt anzusprechen.
Hallo
Du kannst
data[ 0 ][ 'customername' ]
schreibne, um den Kundennamen gezielt anzusprechen.
Leider nein,
das hatte ich auch schon versucht. Ist auch leer.
vielen Dank und viele Grüße
hawk
Meine Herren!
Hallo
Du kannst
data[ 0 ][ 'customername' ]
schreibne, um den Kundennamen gezielt anzusprechen.Leider nein,
das hatte ich auch schon versucht. Ist auch leer.
Dann liegen die Daten vielleicht nur als String vor?
Was gibt ein alert( typeof data );
aus?
Wenn das "String" ist, musst du den JSON-String erst noch parsen:
data = JSON.parse( data );
Wenn das "String" ist, musst du den JSON-String erst noch parsen:
data = JSON.parse( data );
Das sollte jQuery automatisch tun, wenn der Server den HTTP-Header »Content-Type: application/json« sendet. In PHP:
[link:http://www.php.net/manual/de/function.header.php@title=header]('Content-Type: application/json');
jQuery lässt sich auch dazu zwingen, die Serverantwort als JSON zu parsen.
Für $.ajax die Option angeben:
{dataType: 'json'}
Für $.get den Datentyp als Parameter nach dem Callback übergeben:
$.get('URL', function() {}, 'json')
Mathias
Moin
$.get("getData.php",
{
number: oppnr
},
function(data){alert(data.customername);//geht nicht ist leer alert(data['customername']);//ist auch leer alert(data); });
>
ich weiß nicht warum hier niemand die spezielle Ajax-JSON Funktion im jQuery nennt. Diese heißt: [getJSON](http://api.jquery.com/jQuery.getJSON/)
Beim Callback gibt es direkt ein Objekt zurück, auf das du wunschgemäß direkt zugreifen kannst:
~~~javascript
$.getJSON("getData.php?number="+oppnr,
function(data){
alert(data.customername);//geht nicht ist leer
alert(data['customername']);//ist auch leer
alert(data);
});
Gruß Bobby
Hallo,
ich weiß nicht warum hier niemand die spezielle Ajax-JSON Funktion im jQuery nennt.
Weil $.getJSON() auch nur ein weiterer Shortcut für $.ajax() mit einer Vorbelegung der Options ist, daher habe ich $.ajax() zuerst genannt…
Mathias
Moin
Hallo,
ich weiß nicht warum hier niemand die spezielle Ajax-JSON Funktion im jQuery nennt.
Weil $.getJSON() auch nur ein weiterer Shortcut für $.ajax() mit einer Vorbelegung der Options ist, daher habe ich $.ajax() zuerst genannt…
Naja... Aber für nen Anfänger ist $.getJSON handlicher weil er sofort am Namen sieht, dass dies ein Get-Request ist und JSON zurückkommt. So muss man keine Parameter extra für den Rückgabetyp angeben. ;)
Gruß Bobby