web-dev-qa-db-ja.com

JSONを使用してXmlHttpRequest POSTを作成します

Vanilla JSを使用してJSONデータを送信するAJAX POSTリクエストを作成するにはどうすればよいですか。

Content-typeはURL形式でエンコードされており、ネストされたJSONをサポートしていないことを理解しています。

プレーンな古いJSでネストされたJSONを使用して、そのようなPOSTリクエストを作成する方法はありますか。ここでSOにあるさまざまなシリアライズメソッドを試しましたが、これらはすべて、JSONを1つの形式にフラット化します。

これが私のJSONです。

{
   email: "[email protected]",
   response: {
       name: "Tester"
   }
}
58

JSONを適切に使用すれば、問題なくネストされたオブジェクトを使用できます。

var xmlhttp = new XMLHttpRequest();   // new HttpRequest instance 
var theUrl = "/json-handler";
xmlhttp.open("POST", theUrl);
xmlhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xmlhttp.send(JSON.stringify({ "email": "[email protected]", "response": { "name": "Tester" } }));
159
Gilles Quenot