如何使用express,nodejs和Angular CLI创建更新本地json文件的put请求

时间:2017-04-03 09:26:08

标签: node.js angular express typescript angular-cli

我正在尝试使用单击按钮更新本地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请求来更新每个按钮的状态。任何人都可以帮助我这样做。谢谢你的帮助。

0 个答案:

没有答案