我正在尝试使用单击按钮更新本地JSON文件以更新按钮的状态。目前我能够获取JSON文件并读取所有按钮状态。下面是粘贴我的button_status.json文件。
[
{
"id": "0x11",
"name": "cam1",
"state": true
},
{
"id": "0x12",
"name": "cam2",
"state": true
},
{
"id": "0x13",
"name": "cam3",
"state": false
},
{
"id": "0x14",
"name": "cam4",
"state": false
},
{
"id": "0x15",
"name": "cam5",
"state": false
},
{
"id": "0x111",
"name": "cam6",
"state": false
}]
我正在使用express nodejs服务器来读取button_status.json文件。下面我正在添加我的快速获取功能。
app.get('/getButtons', function (req, res) {
fs.readFile( __dirname + "/" + "button_status.json", 'utf8', function (err, data) {
console.log( data );
res.end( data );
});
});
用于调用get方法的Angular服务代码。
getButtonStatus() {
return this.http.get('http://localhost:3000/api/getButtons')
.map(res => res.json())
.concatMap(res => res)
.filter((x:any) => x.state === true)
.do(res=> console.log("res",res))
}
使用以下代码我将删除按钮状态为true的隐藏属性。
this.buttonStatus = _mcxAppLayoutService.getButtonStatus()
.subscribe(value=>{
$('#'+value.name).removeAttr('hidden');
});
现在,当有人想要使用某个按钮点击事件进行更改时,我想在JSON文件中将按钮状态更改为true / false。如何创建一个put请求来更新每个按钮的状态。任何人都可以帮助我这样做。谢谢你的帮助。