2017-09-30 9 views
1

私は、私のウェブページ上で通貨取引価格を取得するためにbitstampからAPIを使用しようとしています。ビットストリームへのHTTPリクエストを作成するにはどうすればよいですか?

私はこの問題を研究してきたが、それは常にERROR

使用リンクがhttps://www.bitstamp.net/api/ticker/で、レスポンスがここlast

私のコードであるべき返すように私はまだそれを動作させることはできません。

var xhr = new XMLHttpRequest(); 
xhr.open("GET", "https://www.bitstamp.net/api/ticker/", true); 
xhr.send(); 
xhr.addEventListener("readystatechange", processRequest, false); 
function processRequest(e) { 
if (xhr.readyState == 4 && xhr.status == 200) { 
    var response = JSON.parse(xhr.responseText); 
    window.alert(response.last); 
} 
else { 
    window.alert("ERROR"); 
} } 
+0

は、ブラウザのコンソールにエラーの下に見るべきである - 「いいえ「アクセス制御-Allow-は、 Originのヘッダーが要求されたリソースに存在する " –

+0

これは本当です。しかしどうすれば対処できますか – Trrrrrrrrrr

+0

可能な複製https://stackoverflow.com/questions/28547288/no-access-control-allow-origin-header-is-present-on-the-requested-resource-err –

答えて

0

これを試してみてください:

function loadXMLDoc() { 
 
    var xhttp = new XMLHttpRequest(); 
 
    xhttp.onreadystatechange = function() { 
 
    if (this.readyState == 4 && this.status == 200) { 
 
    var jsonRes= JSON.parse(this.responseText); 
 
    \t \t if (jsonRes.hasOwnProperty('last')) { 
 
       document.getElementById("demo").innerHTML = 
 
    jsonRes.last; 
 
       alert(jsonRes.last); 
 
} 
 
    } 
 
    }; 
 
    xhttp.open("GET", "https://www.bitstamp.net/api/ticker", true); 
 
    xhttp.send(); 
 
}
<h2>Using the XMLHttpRequest object</h2> 
 

 
<button type="button" onclick="loadXMLDoc()">Change Content</button> 
 
<p>last attribute is: <span id="demo"></span></p>

+0

thx alotでもまだ動作しません。:( – Trrrrrrrrrr

+0

エラーがありますか? – Melchia

+0

何が変わったのですか?なぜですか? –

1

ここに1つの方法です:私は間違っていないよ場合

<script src="./jquery.min.js"> 
//none secure web page ? 
    jQuery.get("https://www.bitstamp.net/api/ticker/", function (data, status) 
    { 
     // use response here; jQuery passes it as the first parameter 
     var response = JSON.parse(data); 
     window.alert(response.last); 
      console.log("MyFunc: " + "response : " + response + "\nStatus: " + status); 
    }); 

</script> 
+0

それは正しいようです、それは動作しません...私は間違ったやり方をしていますか? – Trrrrrrrrrr

+0

正しい@Trrrrrrrrr; O)です。あなたのURLでなければなりません、 "http://www.bitstamp.net/api/ticker/"(httpsから外されました)を試してください.hmmそれはセキュリティ保護されていないWebページを持っていません。 –

+0

インターネットアクセスを紛失したか、ファイアウォールに問題がありますか? –

1
var xhr = new XMLHttpRequest(); 
xhr.open("GET", "https://www.bitstamp.net/api/ticker/", true); 
xhr.send(); 
xhr.addEventListener("readystatechange", processRequest, false); 

function processRequest(e) { 
    if (xhr.readyState == 4) { 
    if (xhr.status == 200) { 
     var response = JSON.parse(xhr.responseText); 
     window.alert(response.last); 
    } else { 
     window.alert("ERROR"); 
    } 
    } 
} 
+0

あなたの問題はあなたのロジックにあります。最初にリクエストが完了したかどうか(readyState == 4)、ステータスコードを確認して、目的の値またはERRORを印刷した後でなければなりません。 – Masterakos

関連する問題