下面的代码应该只是提醒我我希望从 JSON 文件获取的值。问题是它没有给我任何返回:(。下面是 JSON 文件的链接:
https://rest.soilgrids.org/query?lon=5.39&lat=51.57
如果您不知道,Soil Grids API是一个 API,用于让您了解特定陆地经纬度的土壤情况。
我必须承认,我不知道出了什么问题。下面是我的代码:
var soil = new XMLHttpRequest();
function testFunction (){
soil.open("REST", "https://rest.soilgrids.org/query?lon=5.39&lat=51.57", false);
soil.send(null);
var r = JSON.parse(soil.response);
var majorreal = r.properties.TAXNWRBMajor;
alert(majorreal);
}
<button onclick="testFunction()">Submit</button>
每当程序运行时,我都会收到 XMLHttpRequest 的发送错误...
"Uncaught NetworkError: Failed to execute 'send' on
'XMLHttpRequest': Failed to load 'https://rest.soilgrids.org/query
lon=5.39&lat=51.57'.",
如有任何帮助,我们将不胜感激;)。
最佳答案
问题是没有 REST
方法(参见 https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/open )。
使用 GET
有效。
var soil = new XMLHttpRequest();
function testFunction (){
soil.open("GET", "https://rest.soilgrids.org/query?lon=5.39&lat=51.57", false);
soil.send(null);
var r = JSON.parse(soil.response);
var majorreal = r.properties.TAXNWRBMajor;
alert(majorreal);
}
<button onclick="testFunction()">Submit</button>
也没有理由使用同步调用。
关于javascript - 使用 Javascript 读取从 REST API 返回的 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42238345/