deivid os: Json und Mimetype

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

  1. 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

    1. 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

      1. 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

        1. Hallo,

          gibt es ausser

          1. http_request.responseText
          2. 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

  2. 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