我有一个在笔记本电脑 A 上运行 kairosDB 的虚拟机,该虚拟机有两个 IP:192.168.119.132:从笔记本电脑 A 访问它。192.168.1.151:从笔记本电脑 B 访问。
从两台笔记本电脑上,我都可以毫无问题地从 < IP >:8080 访问 Web 应用程序。
笔记本电脑 A:如果我执行代码中显示的 POST/GET 请求,一切正常。(使用 IP 192.168.119.132)
笔记本电脑 B:只有 GET 请求有效!发布请求返回代码 200,但使用 POST 时不会向数据库添加任何点。
请帮助使 POST 请求工作?
const fetch = require("node-fetch");
let query = {
"metrics": [{
"tags": {},
"name": "matric1",
"group_by": [{
"name": "tag",
"tags": [
"car_type",
"host",
"mode_type"
]
}]
}],
"plugins": [],
"cache_time": 0,
"start_relative": {
"value": "20",
"unit": "seconds"
}
};
let dataPoint = [{
"name": "matric1",
"type": "long",
"value": 88,
"timestamp": Math.floor(Date.now()),
"tags": {
"car_type": "TEST",
"host": "TEST",
"mode_type": "TEST"
}
}];
function fetchData(query) {
fetch('http://192.168.1.151:8080/api/v1/datapoints/query?query=' + JSON.stringify(query), {
method: 'GET'
})
.then(res => res.json()) // expecting a json response
.then(json => console.log(json));
}
function addDataPoint(dataPoint) {
fetch('http://192.168.1.151:8080/api/v1/datapoints', {
method: 'POST',
body: JSON.stringify(dataPoint),
headers: {
'Content-Type': 'application/json'
}
})
.then(res => console.log("successfully added !"))
}
addDataPoint(dataPoint);
fetchData(query);