2016-09-22 11 views
0

これはどうして失敗する可能性がありますか?単純な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私はばかだと思っていますが、私はあなたの助けがほんとにを決定するために必要です愚か。ただ、クラーケンのサポートチームからこれを得た

+0

「アクセス制御 - 許可 - オリジン」の原点は。だからブラウザがクロームで特別にURLをブロックします異なっているので起こります。スクリプト内でjsonを使用するか、tomcat内でアプリを実行します。 –

+0

奇妙なことには/ Tickerでは動作しますが、他の2つでは動作しません。私はクラウケンのWebサーバーが要求されたURIに応じて異なる応答ヘッダーを送信していることを想像することはできないので、問題は私の最後にあるとわかります... –

+1

ちょっと見ていて、別のヘッダーが見えます。ティッカーリターンVary:Origin、Tradesはありません。このヘッダーは、CDNでCORSとともに使用され、クラウケンAPIはクラウドフロントから提供されているようです。私はこれまでに仕事をしていないので、どのように/なぜこれが重要であるかは完全にはわかりません。 – sifriday

答えて

0

こんにちは、

は、私たちに手を差し伸べるためにありがとうございました。ティッカーのみがCORSを許可します。ご不明な点がありましたらお知らせください。

暖かいよろしく、

...

関連する問題