Wie setze ich den Rohkörper in jQuery Ajax?

Lesezeit: 1 Minute

Benutzer-Avatar
Itay Moav-Malimovka

Anstatt eine Liste von Schlüssel/Wert-Paaren zu senden, muss ich eine JSON-Zeichenfolge als Hauptteil der POST-Anforderung senden.
Ich mache diese POST-Anfrage mit der $.ajax-Funktion von jQuery.
Wie stelle ich es richtig ein?

Wenn ich JSON-String sage, meine ich so etwas wie: {action:'x',params:['a','b','c']} .

So würde ich diesen JSON-String in PHP auf dem Server verwenden:

var_dump(json_decode(file_get_contents('php://input')));

Ergebnisse in:

stdClass Object
    action = x
    params = Array
        (
    0 = a
    1 = b
    2 = c
        )

  • Ich verstehe jetzt – Sie möchten den Text der xhr-Anforderung irgendwie tatsächlich durch eine json-Zeichenfolge Ihrer Wahl ersetzen? Keine Ahnung hier – hoffentlich kommt ein Experte vorbei und sagt ob das überhaupt möglich ist

    – Adam Rackis

    31. Januar 2012 um 17:55 Uhr


Benutzer-Avatar
Pete

Versuchen:

$.ajax('url',{
    'data': JSON.stringify(yourJSONObject), //{action:'x',params:['a','b','c']}
    'type': 'POST',
    'processData': false,
    'contentType': 'application/json' //typically 'application/x-www-form-urlencoded', but the service you are calling may expect 'text/json'... check with the service to see what they expect as content-type in the HTTP header.
});

Hoffe das hilft,

Peter

  • ‘contentType’: meiner Meinung nach ‘application/json’.

    – Evi-Lied

    4. September 2012 um 7:47 Uhr

  • Ihre Syntax ist seltsam – siehe api.jquery.com/jquery.ajax — aber die processData erledigt tatsächlich die Arbeit.

    – Steve Yost

    18. Juli 2020 um 21:53 Uhr

  • Meine Syntax ist auch 7 Jahre alt. 🙂

    – Peter

    18. Juli 2020 um 21:56 Uhr

Wenn Sie den Schlüssel nicht angeben, wird er meiner Meinung nach als Körper ohne den Schlüssel wie posten

$.ajax({
data:JSON.stringify({action:'x',params:['a','b','c']})
});

1283990cookie-checkWie setze ich den Rohkörper in jQuery Ajax?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy