5

現在、マルチパート フォーム データのリクエストによる送信はサポートされていませんか?

hereの説明に従って d3.json().post() を使用して POST を実行する方法は理解していますが、POST を使用して multipart/form-data 経由で API にパラメータを送信したいと考えていました。

これを行う最善の方法に関するリソースが見つからないのは奇妙に思えます。最も近いのはhttps://github.com/mbostock/d3/issues/929https://github.com/mbostock/d3/wiki/Requestsですが、これらは実際にはマルチパート フォームをカバーしていません。

#929 で説明されている、d3.v3.js で見つけられなかった、マルチパート フォームの使用を可能にする機能の文書化されていない部分はありますか? 現在、この問題に取り組んでいる、または関心を持っている人はいますか?

4

1 に答える 1

3

マルチパート投稿を成功させるには、3 つのステップがあります。

  1. ヘッダーを追加するContent-type: application/x-www-form-urlencoded
  2. フォームデータをエンコードする
  3. URL でクエリ文字列を指定しているかのように連結します

次に、POST データとして送信します。

これは d3 に固有のものではありませんが、ここにたどり着いたので、回答といくつかのサンプル コードを提供すると思いました。

サンプルコード:

var xhr = d3.xhr(post_url)
    .header("Content-type", "application/x-www-form-urlencoded");

xhr.post("arg1=" + encodeURIComponent(arg1) + "&arg2=" + encodeURIComponent(arg2),
  function(error, result) {
    if(error)
        throw new Error(error);
    read_paths.data(JSON.parse(result.responseText));
});
于 2016-05-03T20:38:47.820 に答える