Guten Tag,
warum benutzen öfters Leute JSON.stringfy ?
ansatt dieses hier z.b
machen die es so:
Gibt es ein Unterschied warum man lieber JSON nutzt?
Guten Tag,
warum benutzen öfters Leute JSON.stringfy ?
ansatt dieses hier z.b
machen die es so:
Gibt es ein Unterschied warum man lieber JSON nutzt?
Das zweite habe ich noch nie gesehen und mir ist nicht klar, ob es funktionieren wird, habe mir jedoch nicht die Mühe gemacht, es zu testen.
Haupt-Anwendungsfall von JSON ist die Übergabe von Strukturen aus (assoziativen) Arrays z. B. von PHP nach Javascript. Im Falle von Ajax würde auf dem Server mit PHP und json_encode in einen JSON-String kodiert und auf dem Client mit Javascript und JSON.parse wieder dekodiert. Wobei in deinem Fall, wenn contentType mit application/json angegeben wird, jQuery das für dich übernimmt.
Schnell getestet:
$.ajax({
url: "testget.php",
data: JSON.stringify({ name: "heinrich", alter: "48" }),
success: function (output) {
console.log("mit stringify: " + output)
}
});
$.ajax({
url: "testget.php",
data: "name=heinric&alter=48",
success: function (output) {
console.log("mit URL-Parametern: " + output)
}
});
Alles anzeigen
Das erste funktioniert nicht wie erwartet: Es gibt eine GET-Variable mit dem JSON-String als Name und leerem Wert.
Das zweite funktioniert: name und alter stehen als GET-Variablen zur Verfügung.
D. h. jQuery erwartet als data einen String von URL-Parametern (wenn es sich um einen String handelt).
Es könnte sein, dass Du hier JSON.stringify mit der jQuery-Funktion serialize verwechselst:
https://api.jquery.com/serialize/
Edit: Ich hatte die Parameter contentType und dataType übersehen. Letzterer bezieht sich auf die Antwort vom Server. Ersterer ändert offenbar nichts, denn mit diesem Code:
$.ajax({
url: "testget.php",
method: "GET",
contentType: 'application/json',
data: JSON.stringify({ name: "heinrich", alter: "48" }),
success: function (output) {
console.log("mit stringify: " + output)
}
});
ist das Ergebnis das gleiche.
stringify() ist ein wenig komplexer als hier dargestellt.
Warum sollte ich das JSON selber aufbauen, wenn stringify() das unter Berücksichtigung der Datentypen für mich tut?!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.