まず第一に、私はJavaScriptでこの(多分古い)コードを使用していました:JavascriptでテキストまたはJSONデータを読み込むためにFetch APIのクロスオリジンを使用するにはどうすればよいですか?
function GetJson(url)
{
// 1. New Object XMLHttpRequest
var xhr = new XMLHttpRequest();
// 2. Config it
xhr.open('GET', url, false);
// 3. Send request
xhr.send();
// 4. Errors
if (xhr.status != 200) {
// Responce error out
return(xhr.status + ': ' + xhr.statusText); // 404: Not Found
} else {
// Responce result
return(xhr.responseText); // responseText --
}
}
このコードは、問題を解決しました。このURLが来るまで:
私が遭遇した最初のエラーは、次のとおりです。
のXMLHttpRequestが https://bittrex.com/api/v1.1/public/getmarketsummaries/をロードすることはできません。いいえ 要求された リソースに 'Access-Control-Allow-Origin'ヘッダーが存在します。 Origin 'file://'はアクセスが許可されていません。
ブラウザで何も変更しないようにするには、長い検索でfetch()
機能が使用されています。
fetch('https://bittrex.com/api/v1.1/public/getmarketsummaries/',{mode:'no-cors'})
.then(
function(response) {
if (response.status !== 200) {
console.log('Looks like there was a problem. Status Code: ' +
response.status);
return;
}
// Examine the text in the response
response.json().then(function(data) {
console.log(data);
});
}
)
.catch(function(err) {
console.log('Fetch Error :-S', err);
});
そしてI:しかし、私は断固として
(JSONへのさらなる変換のために)、JSONのまたはテキストの形で少なくとも形式でサーバーからの応答を取得する方法を理解することはできません私はこれを試してみてください答えを得る:
問題があるように見えます。ステータスコード:0
データを取得する方法はありますか?それは変数で望ましいです。私はちょうどフェッチの仕組みを理解していないので。
さらなる処理のためにAPIからデータを取得するだけで済みます。
モードを 'cors'に変更してください。 'cors'の場合、JavaScriptはモードが「no-cors」の場合には結果レスポンスのプロパティにアクセスできません。 –
「cors」の場合は** ' Allow-Origin 'ヘッダーが要求されたリソースに存在します。 Origin 'file://'はアクセスが許可されていません。不透明なレスポンスがあなたのニーズに合っている場合は、CORSを無効にしてリソースを取得するためにリクエストのモードを 'no-cors'に設定してください。** – Ievgen
'mode: 'no-cors''を削除して、 fetch( 'https://cors-anywhere.herokuapp.com/' + 'https:// bittrex)のように、 'https:// cors-anywhere.herokuapp.com/.com/api/v1.1/public/getmarketsummaries/') 'を実行します。その理由の説明については、https://stackoverflow.com/questions/の「No Access-Control-Allow-Origin-header」の問題を回避するためのCORSプロキシの使用方法**のセクションを参照してください。 43871637/no-access-control-allow-origin-header-present-on-the-requested-resource-whe/43881141#43881141 – sideshowbarker