タグ付けされた質問 「fetch-api」

Fetch APIは、リダイレクトとCORSおよびサービスワーカーとの相互作用をより適切に管理しながら非同期HTTPリクエストを行うための、XHRの改良された代替品です。

14
ReactNativeからx-www-form-urlencodedリクエストを投稿する
サーバーにフォームエンコードしたPOSTしたいパラメーターがいくつかあります。 { 'userName': 'test@gmail.com', 'password': 'Password!', 'grant_type': 'password' } 私はこのように(現在パラメータなしで)リクエストを送信しています var obj = { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', }, }; fetch('https://example.com/login', obj) .then(function(res) { // Do stuff with result }); フォームにエンコードされたパラメータをリクエストに含めるにはどうすればよいですか?

8
javascript fetch-「応答」で「json」を実行できませんでした:ボディストリームがロックされています
リクエストのステータスが400より大きい場合(400、423、429の状態を試しました)、フェッチは返されたjsonコンテンツを読み取ることができません。ブラウザコンソールに次のエラーが表示されます Uncaught(in promise)TypeError: 'json' on 'Response':Failed to body stream is locked 返された応答オブジェクトの内容を次のように示しました。 しかし、私はまだ数ヶ月前にそれを使用できます。 私の質問は次のとおりです: これはChromeブラウザの動作ですか、それともフェッチ標準の変更ですか? これらの状態の本文コンテンツを取得する方法はありますか? PS:私のブラウザーのバージョンはGoogle Chrome 70.0.3538.102(正式版本)(64位)です


8
フェッチの進行状況インジケーターをアップロードしますか?
ドキュメントまたはfetchを使用してアップロードの進行状況インジケーターを実装する例を見つけるのに苦労しています。 これは私がこれまでに見つけた唯一のリファレンスであり、次のように述べています。 進行状況イベントは、現時点ではフェッチで到着しない高レベルの機能です。Content-Lengthヘッダーを確認し、パススルーストリームを使用して受信したバイトを監視することにより、独自のものを作成できます。 つまり、Content-Length別の方法なしで明示的に応答を処理できます。そしてもちろん、たとえそれContent-Lengthがあったとしても、それは嘘になる可能性があります。ストリームを使用すると、これらの嘘を好きなように処理できます。 送信された「バイトを監視するためのパススルーストリーム」をどのように記述しますか?それが何らかの違いを生む場合、私はこれを行って、ブラウザからCloudinaryへの画像アップロードを強化しようとしています。 注:私はCloudinary JSライブラリには興味がありません。これは、jQueryに依存しており、私のアプリはそうではないためです。私は、ネイティブJavaScriptとGithubのポリフィルでこれを行うために必要なストリーム処理にのみ興味があります。fetch https://fetch.spec.whatwg.org/#fetch-api

2
フェッチの応答がJavaScriptのJSONオブジェクトであるかどうかを確認する方法
フェッチポリフィルを使用してURLからJSONまたはテキストを取得しています。応答がJSONオブジェクトであるか、それがテキストのみであるかを確認する方法を知りたい fetch(URL, options).then(response => { // how to check if response has a body of type json? if (response.isJson()) return response.json(); });

7
HTML5フェッチAPIを使用してAccess-Control-Allow-Originヘッダーを許可する
HTML5フェッチAPIを使用しています。 var request = new Request('https://davidwalsh.name/demo/arsenal.json'); fetch(request).then(function(response) { // Convert to JSON return response.json(); }).then(function(j) { // Yay, `j` is a JavaScript object console.log(JSON.stringify(j)); }).catch(function(error) { console.log('Request failed', error) }); 通常のjsonを使用できますが、上記のapiURLのデータをフェッチできません。エラーをスローします: FetchAPIはhttps://davidwalsh.name/demo/arsenal.jsonを読み込めません。要求されたリソースに「Access-Control-Allow-Origin」ヘッダーがありません。したがって、オリジン ' http:// localhost 'はアクセスを許可されていません。不透明な応答がニーズに対応する場合は、リクエストのモードを「no-cors」に設定して、CORSを無効にしてリソースをフェッチします。
91 html  api  url  fetch-api 

2
フェッチを使用してマルチパートフォームデータでPOSTするにはどうすればよいですか?
私は次のようなURLを取得しています: fetch(url, { mode: 'no-cors', method: method || null, headers: { 'Accept': 'application/json, application/xml, text/plain, text/html, *.*', 'Content-Type': 'multipart/form-data' }, body: JSON.stringify(data) || null, }).then(function(response) { console.log(response.status) console.log("response"); console.log(response) }) 私のAPIはデータがであると想定しているmultipart/form-dataのでcontent-type、このタイプを使用しています...しかし、ステータスコード400の応答が返されます。 私のコードの何が問題になっていますか?

1
不透明な応答にはどのような制限が適用されますか?
不透明な応答はFetchAPIの一部として定義され、CORSが有効になっていないときにリモートオリジンに対して行われたリクエストの結果を表します。 JavaScriptから、およびページ上のリソースとして、不透明な応答を使用する方法に関して、どのような実際的な制限と「落とし穴」が存在しますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.