用Javascript调用API
调用此api的正确方法是什么?api的url是: 我想读“高”值用Javascript调用API,javascript,html,Javascript,Html,调用此api的正确方法是什么?api的url是: 我想读“高”值 var xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=函数(){ if(this.readyState==4&&this.status==200){ var myObj=JSON.parse(this.responseText); document.getElementById(“demo”).innerHTML=myObj.high; } }; open(“G
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
var myObj=JSON.parse(this.responseText);
document.getElementById(“demo”).innerHTML=myObj.high;
}
};
open(“GET”https://www.bitstamp.net/api/ticker/“,对);
xmlhttp.send();
我错过了什么?谢谢 向URL添加时间戳使其对我有效:
<p id="demo"></p>
<script>
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var myObj = JSON.parse(this.responseText);
document.getElementById("demo").innerHTML = myObj.high;
}
};
xmlhttp.open("GET", "https://www.bitstamp.net/api/ticker/?u" + new Date().getTime(), true);
xmlhttp.send();
</script>
您得到的错误是什么?您发布的代码对我有用。您正在寻找优化的解决方案吗?控制台上有错误吗?大多数浏览器都不喜欢这样,没有“访问控制允许源代码”
。我正在使用W3school代码查看器(),当我运行代码时,没有显示高值,它保持白色,就像没有显示一样不确定您使用的浏览器,但是请注意,您可能会受到跨站点脚本XSS攻击
,…是的,这一改变起到了作用。介意解释一下为什么会这样吗?是的,这不是缓存问题。。它的bitstamp在使用查询参数时启用CORS。。非常奇怪,为什么没有..@Tomas Bond就不能启用它,我在直接使用XMLHttpRequest进行Ajax调用时多次发现这个问题(没有像JQuery这样的框架),我一直认为这是一个缓存问题,即浏览器没有真正调用服务,因为URL已经被缓存了。将时间作为参数添加始终会生成不同的URL,从而避免缓存问题,但Keith也有一点关于CORS,不确定为什么在将参数添加到请求时启用它。
<p id="demo"></p>
<script>
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var myObj = JSON.parse(this.responseText);
document.getElementById("demo").innerHTML = myObj.high;
}
};
xmlhttp.open("GET", "https://www.bitstamp.net/api/ticker/?u" + new Date().getTime(), true);
xmlhttp.send();
</script>