問題タブ [fetch-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ajax - HTTP リクエストがステータス コード 0 を返すとはどういう意味ですか?
fetch や XMLHttpRequest などの JavaScript ネットワーク呼び出し、またはその他の種類の HTTP ネットワーク要求が HTTP ステータス コード 0 で失敗した場合、それはどういう意味ですか?
他のコードは HTTP 仕様では 3 桁であるため、これは有効な HTTP ステータス コードではないようです。
テストとして、ネットワークのプラグを完全に抜いてみました。無関係かもしれませんが、ステータス コード 17003 (IIRC) になりました。これは、ざっと検索すると、「DNS サーバーの検索に失敗しました」という意味です。
同じコードが場所やシステムによっては正常に機能しますが、特定の環境ではステータス コード 0 で失敗し、responseText が提供されません。
これは、インターネット URL への典型的な HTTP POST です。file:// は関係ありませんが、Firefox で成功を示す 0 が返される可能性があることを理解しています。
firefox - この CORS リクエストが Firefox でのみ失敗するのはなぜですか?
認証情報とプリフライト リクエストを使用して CORS を実装していますが、Firefox 30 ではプリフライト リクエストが一貫して失敗するのに、Safari (7.0.2) と Chrome 35 では機能する理由が少しわかりません。認証された CORS リクエストのプリフライト OPTIONS リクエストは Chrome では機能しますが、Firefox では機能しませんか?」というのは、401 ではなく、ブラウザー クライアントから CORS 固有のメッセージを受け取っているからです。
「クロスオリジン リクエストがブロックされました: 同一オリジン ポリシーにより、 http://myurl.dev.comでのリモート リソースの読み取りが許可されません。これは、リソースを同じドメインに移動するか、CORS を有効にすることで修正できます。」
ソースコードを表示せずに、私がやっていることは次のとおりです。
サーバー上:
OPTIONS 応答のヘッダー:
- Access-Control-Allow-Origin: [[リクエストのオリジンをここにコピー]]
- Access-Control-Allow-Methods: "POST GET OPTIONS"
- Access-Control-Allow-Headers: "X-Requested-With"
- Access-Control-Allow-Credentials: 「真」
POST 応答のヘッダー:
- Access-Control-Allow-Origin: [[リクエストのオリジンをここにコピー]]
- Access-Control-Allow-Credentials: 「真」
ブラウザー クライアントで:
仕様によると、これにより、応答に CORS ヘッダーが必要な OPTIONS プリフライト リクエストがトリガーされます。私は W3C 仕様を何度か読んだことがありますが、そのプリフライト応答で何が間違っているのかを特定できません。
javascript - fetch()、キャッシュされていないリクエストをどのように作成しますか?
をfetch('somefile.json')
使用すると、ブラウザのキャッシュからではなく、サーバーからファイルを取得するように要求できますか?
つまり、fetch()
ブラウザのキャッシュを回避することは可能ですか?
javascript - fetch: JSON エラー オブジェクトで promise を拒否します
成功時と失敗時の両方で JSON データを返す HTTP API があります。
失敗例は次のようになります。
JavaScript コードで達成したいことは、次のようなものです。
html - HTMLは複数のファイルを取得します
新しいフェッチ API ( https://fetch.spec.whatwg.org/ )を使用して一度に複数のファイルをフェッチしたいと考えています。ネイティブで可能ですか?もしそうなら、約束を活用してどうすればいいですか?
blob - フェッチ配列バッファのランダム動作
fetch API ( https://fetch.spec.whatwg.org/ )を使用して arrayBuffer を直接フェッチしたい。データが返されたら、配列バッファーを使用したいと思います。
arrayBuffer() が機能する場合と機能しない場合があるようです。動作しないということは、空の配列が返される場合があるということです。ほとんどの場合、うまくいきません。
blob() を呼び出して FileReader 経由で配列バッファーに変換すると、常に機能します。
ライブデモ: http://codepen.io/nicolasrannou/pen/OVLyjX
私は何か間違ったことをしていますか、それともバグですか?
ありがとう、ニコラス
javascript - リクエストに対するレスポンスが Service Worker からのものかどうかを確認するにはどうすればよいですか
Google Chrome コンソールでは、HTTP のステータス コードの横にRequest
info があり(from ServiceWorker)
ます。がServiceWorker から来たことを何とか認識
できますか? 多分から比較?Request
Response
date
Response Headers