为了账号安全,请及时绑定邮箱和手机立即绑定

使用 REST API 异步更新网站

使用 REST API 异步更新网站

Smart猫小萌 2021-11-23 18:00:16
我想创建一个从 REST API 获取数据的网站,并使用它每 10 秒异步更新我的网站。我怎样才能做到这一点?我想知道 Nodejs 或 python 的方法。在 nodejs 中,我遇到了 socket.io,但我需要创建一个单独的文件来启动服务器并侦听它和连接到服务器的客户端,他将获得更新。但这是这个问题的优化解决方案。var express = require('express');var router = express.Router();var Request = require("request");var data = "";Request.get("https://api.thingspeak.com/channels/709694/feeds.json?api_key=MY_API_KEY&results=1",(error,response,body)=>{    if(error){      return console.dir(error);    }    data = JSON.parse(body);});/* GET home page. */router.get('/', function(req, res, next) {  res.render('index', { title: 'Patient Monitoring & Diagnostics',data:data});});module.exports = router;上面的代码是Nodejs代码。我想Request.get()每 10 秒运行一次并更新网页而不刷新它。
查看完整描述

2 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

您可以使用 setInterval


包装你的Request.getwith 函数并每 10 秒调用一次。


const apiRequest = () => {

    Request.get("https://api.thingspeak.com/channels/709694/feeds.json?api_key=MY_API_KEY&results=1",(error,response,body)=>{

    if(error){

      return console.dir(error);

    }

    data = JSON.parse(body);

    });

}


setTimeout(apiRequest, 10000);

如果您没有使用的确切理由nodejs Request,


考虑客户端 api 请求 with axios,并state更改 withreact也是一个不错的选择。


查看完整回答
反对 回复 2021-11-23
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

以下是问题的解决方法。感谢@koo


  const apiRequest = () => {

    const url = 'https://api.thingspeak.com/channels/709694/feeds.json?api_key=MY_API_KEY&results=1'; 


    $.ajax({url:url,success:function(result){

        let field1 = result.feeds[0].field1;

        $(".div1 p").text(field1);


    }});

}


setInterval(apiRequest, 10000);


查看完整回答
反对 回复 2021-11-23
  • 2 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信