Was ist der beste Weg, multidimensionale Arrays in Strings umzuwandeln?

...komplette Frage anzeigen

2 Antworten

Was ist der beste Weg, multidimensionale Arrays in Strings umzuwandeln, um Sie per Ajax durch das Internet zu schicken?

JSON ist hierbei schon quasi standard. JS, PHP usw bieten Methoden an (JSON.parse, json_encode,...) um Arrays, Objekte in ein JSON Schema zu serialisieren. jQuery macht das beim XMLHttpRequest automatisch mit der richtigen Einstellung...

$.ajax({
url: "./server.php",
type: "POST",
data: {foo: 'bar'}
dataType: "json"....

http://de.wikipedia.org/wiki/JavaScript_Object_Notation

JSON ist sowas wie base64 oder md5 oder !? Es wird zeit, sich das anzusehen!

und der return?

0
@BDP86

Ich habs gesehen und es sieht wundervoll aus!

Also ich verpacke meine Variablen mit JSON:

var JSONvariable= {
"object":"Car",
"color":"green",
};

und dann einfach ins AJAX rein!?

$.post('ajax.php' ,{data: JSONvariable}, function(data) { $alsoString = data;  });

aber wie schicke ich die Daten dann wieder zurück? bzw. wie verpacke ich die daten auf Serverseite?

0
@BDP86

AJAX Client / Server Beispiel:

var dataTransferObject = {foo: 'bar', bar: 'foo'};
$.ajax({
    url:"server.php",
    type: "post",
    processData: false,                             //encode object manually...
    data: JSON.stringify(dataTransferObject),       //encode object into valid json
    dataType: "json",                               //expecting json response from server
    contentType: "application/json; charset=utf-8", //set correct http header
    success:function( response, textStatus, jqXHR){
        //Decode json response manually when "dataType" not set to "json"...
        //response = JSON.parse(response);

        console.log( response.status );
    }
  });
}); 

//server.php
if( isset($_POST['foo']) && isset($_POST['bar']) ) echo json_encode( array('status' => 'success') );
else echo json_encode( array('status' => 'error') );
1

Ganz klar JSON. Wenig Overhead und von beiden Sprachen nativ unterstützt. Und wenn nicht nativ im Browser dann über gängige Frameworks wie jQuery oder Prototype.

Frage ist natürlich was noch genutzt wird. Wenn auf der anderen Seite z.B. eine Oracle Datenbank ist, welche z.B. XML unterstützt, dann bietet sich eben das an. In der Regel sucht man einfach die größte Schnittmenge bzw. die Technologie die auf allen beteidigten Vertreten ist oder nutzbar ist.

mir würde evtl ein decodierer helfen, der die daten nicht zu sehr vergrößert, und mir dafür dank weniger Zeichen ein breites spektrum an Trennzeichen überlässt.

Die Datenbank ist MySQL.

0

Was möchtest Du wissen?