这是我的代码:
<script type="text/javascript">
function getRadiation()
{
var today=
href="http://iotprojecteafit.herokuapp.com/registers/nraigosam?id=pre";
var x = document.getElementById("radiation");
return today;
}
</script>
我的问题是,由于数据只是作为列表添加在前面的数据下面,所以我不知道如何从最近一行获取var的值。
发布于 2018-06-04 14:34:34
我建议你调查一下API充分理解你想要完成的事情。
fetch("http://iotprojecteafit.herokuapp.com/registers/nraigosam?id=pre").then(function (data) {
return data.json();
}).then(function (arr) {
console.log(arr[arr.length - 1].var_1);
});
发布于 2018-06-04 16:06:07
其实你不一定需要读取API来读取JSON。它完全是可选的。下面是如何在没有获取API的情况下做到这一点。我使用了一个不同的URL,其中有一些与您的类似的示例JSON数组,这是跨域友好的,因此可以从这里直接运行。
// it appears that your URL is not allowing
// Cross-Origin Resource Sharing , thus I am using this example instead
var href="https://jsonplaceholder.typicode.com/posts";
var fieldname = "title"; // (instead of "var_1", the the purpose of above href)
// if you use yours, comment in those 2 lines
// href="http://iotprojecteafit.herokuapp.com/registers/nraigosam?id=pre";
// fieldname = "var_1";
var elResult = document.getElementById("result");
var oReq = new XMLHttpRequest();
oReq.open("GET", href, true );
oReq.responseType = "json";
oReq.onload = function() {
var data = oReq.response;
if(data == null){
elResult.innerHTML = "error_1";
}
else{
if(data.constructor == Array){ /// has to be array
var len = data.length;
if(len > 0){
var lastEntry = data[len-1];
if(lastEntry[fieldname] !== undefined ){
elResult.innerHTML = fieldname + " = " + lastEntry[fieldname];
}
}
else{
elResult.innerHTML = "error_3";
}
}
else{
elResult.innerHTML = "error_4";
}
}
};
oReq.onerror = function(error){
elResult.innerHTML = "error_2";
}
oReq.send(null);
<p id="result">(result to appear here)</p>
https://stackoverflow.com/questions/-100004731
复制相似问题