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:
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
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
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