serialisieren der JSON-Daten-Paket in einer jQuery Ajax POST

Habe ich eine Datenstruktur, die wie bei sockel

var s = {
    "a": "foo",
    "b": 5,
    "c": {"d": "a long string"},
    "e": {
        "f": {
            "g": {
                "h": [1, 0, -2.1, 1.43]
            }
        },
        "i": {
            "j": {
                "k": [-3.2, 3.003, 0, 0]
            }
        }
    }
};

Will ich bewahren Sie das "a", "b", "c" und "e" Tasten der variable s in einer Datenbank-Tabelle, so kann ich rekonstruieren Sie wieder zurück. Ich sende s über eine jQuery Ajax POST. Die Werte werden eingefügt und gespeichert als nur text (außer "b" ist immer eine Zahl).

ajax: {
    url: uri,
    type: "POST",
    data: s,
    dataType: "json",
    success: function(data, status) { .. }
}

Hier ist das problem, ich bin der Begegnung. Im Firebug kann ich sehen, wie meine post-Parameter... Sie sind wirklich Durcheinander. Scheint, wie die Daten serialisiert wurden auf der Ebene der einzelnen Elemente (ein bisschen wie eine Tiefe Serialisierung), während ich hoffte auf so etwas wie

e={"f":{"g":{"h":[1,0,-2.1,1.43]}},"i":{"j":{"k":[-3.2,3.003,0,0]}}}

Update: Anstelle, ich erhalte die folgende (ich habe unescaped die Zeichenfolge unten, so ist es besser lesbar)

a=foo&b=5&c[d]=a long string&e[f][g][h][]=1&e[f][g][h][]=0&e[f][g][h][]=-2.1&e[f][g][h][]=1.43

Bin ich vielleicht tun dies der falsche Weg, so fühlen sich frei, um mich auf einen besseren Weg.

InformationsquelleAutor punkish | 2012-01-26
Schreibe einen Kommentar