7

同じ XMLHttpRequest 内でファイルとパラメーターを送信する方法を理解しようとしています。これは可能ですか?

明らかに、xhr.send(file+params) または xhr.(file,params) を実行できます。そして、これを行うために2つの異なるリクエストヘッダーを設定できるとは思いません...

xhr.setRequestHead('X_FILENAME', file.name)
xhr.send(file);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send(params);

GET またはセカンダリ xhr リクエストを使用せずにパラメータを送信する方法はありますか?

4

2 に答える 2

6

GET またはセカンダリ xhr リクエストを使用せずにパラメータを送信する方法はありますか?

はい、GETたとえPOST. 例えば:

xhr.open(yourUrl + "?foo=" + encodeURIComponent(foo) + "&bar=" + encodeURIComponent(bar));
// ...
xhr.send(file);

上記では、私が知らない XHR 経由でファイルを送信することについて何か知っている必要があると想定しています。:-)


それがFile APIを介して読み取られたファイルfileの実際のコンテンツであると仮定すると、それは単なる別のパラメーターではありませんか? そう:

xhr.send(
    "filedata=" + encodeURIComponent(file) +
    "&foo=" + encodeURIComponent(foo) +
    "&bar=" + encodeURIComponent(bar)
);
于 2013-03-05T07:47:19.177 に答える