Json und Mimetype
deivid os
- javascript
Hey Leute,
kleine Frage am Rande. Ich starte per ajax ein http_request -> genauer ein cgi (c++) was ein Json Object zurück liefert. Wenn ich dieses per
var fdata = http_request.responseText;
empfange und der Mimetype des cgi's "application/json" trägt - was ist fdata dann?? ein Array bzw Json-Obj ODER nur ein String??? Wenn nur ein String zurück kommt -> warum dann der Mimetype????
Gruss David
Hey Leute, KLEINE BERICHTIGUNG
kleine Frage am Rande. Ich starte per ajax ein http_request -> genauer ein cgi (c++) was ein Json Object(String)zurück liefert. Wenn ich dieses per
var fdata = http_request.responseText;
empfange und der Mimetype des cgi's "application/json" trägt - was ist fdata dann?? ein Array bzw Json-Obj ODER nur ein String??? Wenn nur ein String zurück kommt -> warum dann der Mimetype???? Bei XML hat man ja auch kein DOM Element, oder?
Gruss Deivid
Hallo,
Bei XML hat man ja auch kein DOM Element, oder?
?? Doch, XML wird automatisch geparst und in der Eigenschaft responseXML steht dann der Document-Knoten zur Verfügung.
Mathias
Hallo,
Bei XML hat man ja auch kein DOM Element, oder?
?? Doch, XML wird automatisch geparst und in der Eigenschaft responseXML steht dann der Document-Knoten zur Verfügung.
Mathias
richtig! Habe ich auch gerade rausbekommen ABER
gibt es ausser
1. http_request.responseText
2. http_request.responseXML
etwas wie
http_request.responseJSON
oder was gibt es alles überhaupt???
gruss david
Hallo,
gibt es ausser
- http_request.responseText
- http_request.responseXML
etwas wie
http_request.responseJSON
Nein.
oder was gibt es alles überhaupt???
responseText gibts, responseXML nur bei wohlgeformten XML-Dokumenten, die mit XML-MIME-Typen gesendet wurden.
Mathias
Hallo,
var fdata = http_request.responseText;
empfange und der Mimetype des cgi's "application/json" trägt - was ist fdata dann?? ein Array bzw Json-Obj ODER nur ein String???
responseText ist IMMER ein String, unabhängig davon, was du vom Server holst.
Wenn du den JavaScript-Code ausführen willst, musst du eval() verwenden und das liefert dir dann das Object bzw. den Array, je nachdem, wie dein JSON aussieht.
Wenn nur ein String zurück kommt -> warum dann der Mimetype????
Der ist in dem Fall eher unwichtig, sollte aber natürlich korrekt gesetzt sein. Er hat aber nichts damit zu tun, dass der Browser den Code schon als JavaScript ausführt. Das musst du bei diesem Vorgehen selbst tun.
Mathias