0

出于工作原因,我第一次使用 RestFul Api、Json 和 NodeJS,从 NoSQL 数据库 KairosDB 检索数据。这是使用 Post 函数返回数据点的方法的定义

我的理解是我必须使用用户选择的参数制作一个 JSON,然后将此 JSON 发送到上面的 url。

有人建议我使用 NodeJS,我从官方网站上阅读过,我已经安装了它并开始了一个教程,学习我创建一个小型网络服务器。

无论如何,我完全坚持使用 Post 函数来调用这些参数。

由于我的经验,我想到了如何用一个简单的 html 页面来做上面的事情,例如:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
var myUrl="http://192.168.1.46:8080/api/v1/datapoints/query";
$.ajax({        
    url: myUrl ,
    data: {metrics: [{tags: {}, name: "AIENR",
      aggregators: [
        {
          name: "sum",
          sampling: {
            value: "1",
            unit: "milliseconds"
          }
        }
      ]
    }
  ],
  cache_time: 0,
  start_absolute: 1328223600000,
  end_absolute: 1351983600000
},
    type: 'POST',
    success: function (resp) {
        alert(resp);
    },
    error: function(e){
        alert('Error: '+e);
    }  
});
</script>
</head>
<body>
</body>
</html>  

无论如何,上面的代码给了我一个错误:object Object,我不明白如何用Node JS实现它以及如何联系它来检索结果。谢谢

4

1 回答 1

1

首先,您应该搜索您的 NoSQL 数据库是否有 node.js 驱动程序/连接器。如果它存在并且它是稳定的 - 只需使用它。

除此以外:

你可以用艰难的方式来做(使用和之类的核心模块httphttps,或者使用请求之类的模块。

然后,在 node.js 中,您或多或少会像这样调用您的 NoSQL 数据库:

var request = require('request');

request({
    uri: 'http://127.0.0.1:8080/api/v1/datapoints/query',
    method: 'POST',
    json: {some: "jsonfile"},
    timeout: 10000
}, function (err, response, body) {

    // error handling

    // take some values from body and send it to client

});
于 2013-11-03T18:51:59.877 回答