Javascript HTTP POST mit JSON-Daten

8

Kann ich eine Anfrage wie folgt senden? Die Parameter werden mit einem JSON-Stilobjekt zugewiesen. Ich bekomme nur Fehler. Aber wenn ich einen REST-Client verwende und RAW-Daten auswähle, ist das OK. Ich denke, ich muss falschen Code geschrieben haben. Wie sende ich JSON-Rohdaten in JavaScript? Könnte mir jemand helfen?

%Vor%     
anaconda_wly 23.09.2013, 15:10
quelle

2 Antworten

21

Nein. Die Methode send() kann eine Reihe unterschiedlicher Argumenttypen verwenden , aber Ein einfaches Objekt gehört nicht dazu (es wird also wahrscheinlich toString() aufgerufen und in "[Object object]" umgewandelt).

Wenn Sie JSON senden möchten, müssen Sie:

  1. Angenommen, Sie senden JSON: xmlhttp.setRequestHeader("Content-type", "application/json");
  2. Konvertieren Sie Ihr JavaScript-Objekt in eine Zeichenfolge aus JSON-Text: var parameters = JSON.stringify({"username":"myname","password":"mypass"});
  3. Bereiten Sie sich darauf vor, JSON anstelle von application / x-www-form-urlencoded-Daten auf der Serverseite zu akzeptieren.

Beachten Sie außerdem, dass Sie, da Sie einen absoluten URI verwenden, möglicherweise auf Domänenübergreifende Probleme .

    
Quentin 23.09.2013 15:19
quelle
2
%Vor%     
mhdnp1234 20.06.2016 05:39
quelle

Tags und Links