Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在HTML元素中显示JSON webapi元素_Javascript_Html_Json - Fatal编程技术网

Javascript 在HTML元素中显示JSON webapi元素

Javascript 在HTML元素中显示JSON webapi元素,javascript,html,json,Javascript,Html,Json,我目前正在努力显示来自Web API的结果,我对这类事情还不熟悉,所以请原谅这种可怕的理解。我的错误在于身份验证。后来我发现API链接不正确,现在(通过python)我可以使用它调用正确的结果。我的问题在于不知道如何在Javascript中获得相同的结果,并将其解析为只显示字符串“value”。我将在下面发布一个来自API的数据示例,并将突出显示我所需要的内容。总体目标是在P标记中显示“value”数字,其位置可以在我的HTML中找到。下面是我的html部分,我试图在其中显示值: <div

我目前正在努力显示来自Web API的结果,我对这类事情还不熟悉,所以请原谅这种可怕的理解。我的错误在于身份验证。后来我发现API链接不正确,现在(通过python)我可以使用它调用正确的结果。我的问题在于不知道如何在Javascript中获得相同的结果,并将其解析为只显示字符串“value”。我将在下面发布一个来自API的数据示例,并将突出显示我所需要的内容。总体目标是在P标记中显示“value”数字,其位置可以在我的HTML中找到。下面是我的html部分,我试图在其中显示值:

<div class="card-content">
    <p>The light sensor will detect exterior lighting conditions, and will turn on or off any outside lights based on the enviroment.</p><br>
    <center>
        <div class="reading-circle light" id="tempcircle">
            <!----VALUE HERE IN P ELEMENT---->
        </div>
    </center>
</div>

上面的示例不包括value属性,因为设备没有记录任何结果,但是当我们通过python运行它时,我们给它提供了虚拟值,因为它最终将来自一个实时传感器

我们可以知道什么不适用于您的代码吗?“挣扎”不是错误消息或问题陈述。你有控制台错误吗?意外行为?你调试代码了吗?出于好奇,我尝试在浏览器中手动打开您示例中的URL,但它a)尝试将我重定向到登录页面,然后b)登录页面超时并出现网关错误。因此,即使没有超时问题,看起来URL需要客户端对其进行身份验证,从我可以看到您的AJAX请求没有发送任何类型的凭据(即用户名/密码、API密钥、访问令牌或任何需要的凭据)加载失败:请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“null”。响应的HTTP状态代码为404。-这是chrome控制台的错误。我必须删除链接中的招摇过市,它才能工作(ish)。授权是一个问题,但我不确定如何添加登录详细信息等。我已经编辑了更深入的帖子。希望这有帮助!我认为你的js有一个错误。它看起来像代码
const t_reading=document.createElement('p');sensor.value=sensor.value.substring(0,300);p、 textContent=
${sensor.value}
;tempcirle.appendChild(p)应该是
const t_reading=document.createElement('p');sensor.value=sensor.value.substring(0,300);t_reading.textContent=
${sensor.value}
;附录儿童(t_阅读)
const app = document.getElementById('tempcircle');

var request = new XMLHttpRequest();
request.open('GET', 'https://swagger.richard-murphy.iotpdev.com/api/1/devices/snapshot/paged', true);
request.onload = function () {

var data = JSON.parse(this.response);
    if (request.status >= 200 && request.status < 400) {
        data.forEach(sensor => {
            const t_reading = document.createElement('p');
            sensor.value = sensor.value.substring(0, 300);
            p.textContent = `${sensor.value}`;
            tempcircle.appendChild(p);
        });
    }
}
request.send();
{
    "id": "e370df3d-6283-459f-9d8e-0b614dec578b",
    "name": "Themometer",
    "typeId": "88f06b08-59e0-43ae-ae95-2d4ee4f1a66e",
    "deviceId": "fb903ae2-67de-46cb-8cb7-9eb3faf62e1d",
    "attributes": {},
    "minimumNormalOperatingValue": -15,
    "maximumNormalOperatingValue": 60,
    "minimumValue": 0,
    "maximumValue": 40,
    "displayName": "Thermometer"
  },