我是js和API的新手,
我写了一些代码,假设要问2个网站的一些数据,然后我只拿一部分结果并将其添加到我的html页面。
我正在尝试使用第一个网站,因为当我有第一个网站时,很容易让它在第二个网站上运行。
我想只使用js而不是php或其他语言。
目前暂不行......
所以这是我的js
好的,如果你现在才来这里,
我的代码已经使用以下Justin和Aashah的2个答案进行了更新,现在问题是浏览器说为了获取cors,我需要一个http或https,并说有一个问题[对象%20Object],所以仍然没有数据显示,如果有人有解决方案,请帮助我们:)
var urlbitfinex = "https://api.bitfinex.com/v1";
var urlkraken = "https://api.kraken.com/0/public/Ticker?pair=";
var resultBitfinex;
//request bitfinex price
request.get(urlbitfinex + "/pubticker/btcusd",
resultBitfinex = function(error, response, body) {
console.log(body)
return body;
});
//request kraken price
request.get(urlkraken + "xbteur",
function(error, response, body) {
console.log(body);
});
//Pushing the result to the html
var price_USD = document.getElementById('price-usd');
var USDPrice = '<p>USDEUR Price:' + resultBitfinex.ask '</p>';
price_USD.innerHTML += USDPrice;
我的HTML
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Test</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="price-usd">
</div>
<script src="getPrices.js"></script>
</body>
</html>
答案 0 :(得分:1)
您必须在回调中处理UI更改:
fetch({ url: urlkraken + "/pubticker/btcusd", cors: true })
.then(res => res.json())
.then(res => {
const price_USD = document.querySelector('#price-usd');
const USDPrice = '<p>USDEUR Price:' + res.ask + '</p>';
price_USD.innerHTML += USDPrice;
})
.catch(err => console.log(err));
答案 1 :(得分:0)
你并没有真正做出任何回应。
如果您不必支持IE,则可以使用fetch
。以下是一个例子:
How to get the response of XMLHttpRequest?
var url = "https://stackoverflow.com"; // Change this to your URL
fetch(url)
.then(function(response) {
if(response.ok) { // Check if response went through
response.json().then(function(data) {
var price_USD = document.getElementById('price-usd');
var USDPrice = '<p>USDEUR Price:' + data.something + '</p>';
price_USD.innerHTML += USDPrice;
});
} else { // Response wasn't ok. Check dev tools
console.log("response failed?");
}
});
有关Fetch
here的更多信息。