JavaScript中的比特币API货币转换器
我正在尝试做我自己的比特币货币转换器。检查汇率的链接是: 所以我做了一个HTML表单,有一个输入,用户会给我以美元为单位的值,他想检查目前有多少BTCJavaScript中的比特币API货币转换器,javascript,xmlhttprequest,Javascript,Xmlhttprequest,我正在尝试做我自己的比特币货币转换器。检查汇率的链接是: 所以我做了一个HTML表单,有一个输入,用户会给我以美元为单位的值,他想检查目前有多少BTC <form class="searchform" name="BTCValueForm" action="" method="POST"> U$<input type="text" name="usd" id="usd" maxlength="5"> - BTC = <p id="btcvalue"> &l
<form class="searchform" name="BTCValueForm" action="" method="POST">
U$<input type="text" name="usd" id="usd" maxlength="5">
- BTC = <p id="btcvalue"> </p>
<p> <input name="Exchange" type="submit" class="button" onclick="return BitcoinRate(BTCValueForm)" value="Check"> </p>
</form>
功能负载为:
function load(url,reason) {
var xmlhttp;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var Answer = xmlhttp.responseText;
if (reason == 'BitcoinRate') {
document.getElementById('btcvalue').innerHTML = Answer;
}
xmlhttp.open('GET', url, true);
xmlhttp.send();
}
它应该从API中得到答案,并在表单中的“btcvalue”段中输入。但是在Chrome的调试器上,我看到GET请求在启动之前就被取消了。这里发生了什么事?有什么线索吗?可能是区块链不允许他们的COR(跨来源资源共享)。 我会推荐你使用,而且是免费的。我下面的答案可能会帮助你找到你想要的
<form class="searchform" name="BTCValueForm" action="" method="POST">
- U$<input type="text" name="usd" id="usd" maxlength="5">
- BTC = <p id="btcvalue"> </p>
<p> <input name="Exchange" type="submit" class="button" onclick="return
BitcoinRate()" value="Check"> </p>
</form>
使用带有keypress()的JQuery,它比XML请求(dry)更干净
我建议您使用兼容各种编程语言(如Shell、Node.js、Java、Python、PHP、Ruby、js、C#、C、Go、Swift)的全球179种货币进行比特币货币转换
在这里,我使用JavaScript给出比特币转换器端点:
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://api.currencyfreaks.com/latest/convert
?apikey=YOUR_APIKEY
&from=USD&to=BTC
&amount=10000");
xhr.send();
JSON响应如下所示:
{
"date": "2020-10-06 05:44:00+00",
"current_rates": {
"USD": "1.0",
"BTC": "0.00009296030223253462"
},
"converted_amount": "0.9296030223253462",
"query": {
"given_amount": "10000.0",
"from": "USD",
"to": "BTC"
}
}
我希望这将是BTC转换器最简单的解决方案。对不起。。。你的意思是什么?blockchain.info是否发送相应的信息,以便您可以使用页面中的内容?嗯。。。我不知道这件事。我需要为这个或什么放一些相应的标题?你不需要,但是服务器(blockchain.info)需要添加一些标题,如果他们希望你能够在你的页面上使用他们的东西。在这种情况下我应该怎么做?
var amount = jQuery('#usd').val(),
btc = jQuery('#btcvalue')
jQuery('#usd').keypress(function(event){
if ( event.which == 13 ) {
event.preventDefault();
}
$.get("https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USD",function(data){
let BTC_amount = amount / data["USD"],
final_value = BTC_amount.toFixed(3)
btc.text(final_value)
});
})
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if(this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://api.currencyfreaks.com/latest/convert
?apikey=YOUR_APIKEY
&from=USD&to=BTC
&amount=10000");
xhr.send();
{
"date": "2020-10-06 05:44:00+00",
"current_rates": {
"USD": "1.0",
"BTC": "0.00009296030223253462"
},
"converted_amount": "0.9296030223253462",
"query": {
"given_amount": "10000.0",
"from": "USD",
"to": "BTC"
}
}