Javascript 从HTML中的API请求获取和显示数据

Javascript 从HTML中的API请求获取和显示数据,javascript,html,Javascript,Html,我不熟悉纯HTML,并且很难理解如何从API请求中请求并显示数据 我如何发出请求,然后假设返回的数据结构与我在下面包含的内容相同,那么我如何在元素中仅显示assetA中的体积度量 time_range: start: "2021-02-14T17:04:02Z" end: "2021-01-15T17:04:02Z" volumes: assetA: name: "assetName

我不熟悉纯HTML,并且很难理解如何从API请求中请求并显示数据

我如何发出请求,然后假设返回的数据结构与我在下面包含的内容相同,那么我如何在
元素中仅显示
assetA
中的
体积
度量

time_range: 
    start:  "2021-02-14T17:04:02Z"
    end:    "2021-01-15T17:04:02Z"
volumes:    
    assetA: 
        name:   "assetName1"
        volume: 100000

    assetB: 
        name:   "assetName2"
        volume: 50000

如果您有任何帮助,我们将不胜感激。

您可以根据自己的要求做类似的事情

        // api url 
        const api_url =  
              "https://employeedetails.free.beeceptor.com/my/api/path"; 
          
        // Defining async function 
        async function getapi(url) { 
            
            // Storing response 
            const response = await fetch(url); 
            
            // Storing data in form of JSON 
            var data = await response.json(); 
            console.log(data); 
            if (response) { 
                hideloader(); 
            } 
            show(data); 
        } 
        // Calling that async function 
        getapi(api_url);
    
    // Function to define innerHTML for HTML table 
    function show(data) { 
        let tab =  
            `<tr> 
              <th>Name</th> 
              <th>Office</th> 
              <th>Position</th> 
              <th>Salary</th> 
             </tr>`; 
        
        // Loop to access all rows  
        for (let r of data.list) { 
            tab += `<tr>  
        <td>${r.name} </td> 
        <td>${r.office}</td> 
        <td>${r.position}</td>  
        <td>${r.salary}</td>           
    </tr>`; 
        } 

// Setting innerHTML as tab variable 
    document.getElementById("employees").innerHTML = tab; 
//api url
常量api_url=
"https://employeedetails.free.beeceptor.com/my/api/path"; 
//定义异步函数
异步函数getapi(url){
//存储响应
const response=等待获取(url);
//以JSON的形式存储数据
var data=await response.json();
控制台日志(数据);
如果(响应){
hideloader();
} 
显示(数据);
} 
//调用那个异步函数
getapi(api_url);
//函数为HTML表定义innerHTML
函数显示(数据){
让tab=
` 
名称
办公室
位置
薪水
`; 
//循环以访问所有行
对于(让r的data.list){
制表符+=`
${r.name}
${r.office}
${r.position}
${r.salary}
`; 
} 
//将innerHTML设置为选项卡变量
document.getElementById(“employees”).innerHTML=tab;

您可以根据需要执行类似操作

        // api url 
        const api_url =  
              "https://employeedetails.free.beeceptor.com/my/api/path"; 
          
        // Defining async function 
        async function getapi(url) { 
            
            // Storing response 
            const response = await fetch(url); 
            
            // Storing data in form of JSON 
            var data = await response.json(); 
            console.log(data); 
            if (response) { 
                hideloader(); 
            } 
            show(data); 
        } 
        // Calling that async function 
        getapi(api_url);
    
    // Function to define innerHTML for HTML table 
    function show(data) { 
        let tab =  
            `<tr> 
              <th>Name</th> 
              <th>Office</th> 
              <th>Position</th> 
              <th>Salary</th> 
             </tr>`; 
        
        // Loop to access all rows  
        for (let r of data.list) { 
            tab += `<tr>  
        <td>${r.name} </td> 
        <td>${r.office}</td> 
        <td>${r.position}</td>  
        <td>${r.salary}</td>           
    </tr>`; 
        } 

// Setting innerHTML as tab variable 
    document.getElementById("employees").innerHTML = tab; 
//api url
常量api_url=
"https://employeedetails.free.beeceptor.com/my/api/path"; 
//定义异步函数
异步函数getapi(url){
//存储响应
const response=等待获取(url);
//以JSON的形式存储数据
var data=await response.json();
控制台日志(数据);
如果(响应){
hideloader();
} 
显示(数据);
} 
//调用那个异步函数
getapi(api_url);
//函数为HTML表定义innerHTML
函数显示(数据){
让tab=
` 
名称
办公室
位置
薪水
`; 
//循环以访问所有行
对于(让r的data.list){
制表符+=`
${r.name}
${r.office}
${r.position}
${r.salary}
`; 
} 
//将innerHTML设置为选项卡变量
document.getElementById(“employees”).innerHTML=tab;

从这里开始,如果我只想显示
资产中的
体积
度量,而不需要其他度量,那么我如何检索特定的数据并将其插入
元素?@GrapeJam编辑了我的答案供您参考。我有点困惑-因为在我的情况下,我没有使用for循环,我只是需要d显示单个
度量,并将其放入段落元素中。如果我使用上面的示例,基于我在原始问题中包含的JSON响应,我如何挑出一个特定的数据段?不管怎样,我已经计算出来了。谢谢!从这里开始,如果我只想显示
度量从
assetA
中,我不需要其他数据,如何检索特定的数据并将其插入
元素?@GrapeJam编辑了我的答案供您参考。我有点困惑-因为在我的情况下,我没有使用for循环,我只需要显示单个
度量并将其放入一个段落中graph元素。如果我使用上面的例子,基于我在原始问题中包含的JSON响应,我如何挑出一个特定的数据段?不管怎样,我已经找到了。谢谢!