これはどうして失敗する可能性がありますか?単純なd3.json呼び出しの失敗
d3.json("https://api.kraken.com/0/public/Time",
function(){
console.log(arguments);
});
私はオーレ」CORS XMLHttpRequest cannot load https://api.kraken.com/0/public/Time/. No 'Access-Control-Allow-Origin' header is present on the requested resource.
、しかしを取得しています、私は正常に何の問題もなくhttps://api.kraken.com/0/public/Ticker
への呼び出しを行うことができます。
私はすでに恥ずかしいほどの時間を費やしています。
EDIT:これは/ティッカーのため
作品:
var myurl = "https://api.kraken.com/0/public/Trades";
var data = "pair=ETHXBT";
var r = d3.json(myurl).header("content-type", "application/x-www-form-urlencoded").post(data, function(error, response){console.log(arguments);});
これは/トレード(再び、 'アクセス制御 - 許可 - 起源' というエラー)のためwork_ない__does:
var myurl = "https://api.kraken.com/0/public/Trades";
var data = "pair=ETHXBT";
var r = d3.json(myurl).header("content-type", "application/x-www-form-urlencoded").post(data, function(error, response){console.log(arguments);});
クラクケンのAPIの説明は次のとおりです。https://www.kraken.com/help/api
これまでの最大の結論i私はばかだと思っていますが、私はあなたの助けがほんとにを決定するために必要です愚か。ただ、クラーケンのサポートチームからこれを得た
「アクセス制御 - 許可 - オリジン」の原点は。だからブラウザがクロームで特別にURLをブロックします異なっているので起こります。スクリプト内でjsonを使用するか、tomcat内でアプリを実行します。 –
奇妙なことには/ Tickerでは動作しますが、他の2つでは動作しません。私はクラウケンのWebサーバーが要求されたURIに応じて異なる応答ヘッダーを送信していることを想像することはできないので、問題は私の最後にあるとわかります... –
ちょっと見ていて、別のヘッダーが見えます。ティッカーリターンVary:Origin、Tradesはありません。このヘッダーは、CDNでCORSとともに使用され、クラウケンAPIはクラウドフロントから提供されているようです。私はこれまでに仕事をしていないので、どのように/なぜこれが重要であるかは完全にはわかりません。 – sifriday