使用 REST API 异步更新网站

我想创建一个从 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 秒运行一次并更新网页而不刷新它。


Smart猫小萌
浏览 188回答 2
2回答

慕桂英3389331

您可以使用 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也是一个不错的选择。

回首忆惘然

以下是问题的解决方法。感谢@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);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python