【发布时间】:2014-06-08 21:30:51
【问题描述】:
我正在使用 Node.JS 流来解析 json 文件并将其绘制在地图上。 我有两个文件: 我绘制数据的前端
'/points.geojson'
服务器端: 1- 我加载外部文件(output.json)。
var fs = require('fs');
app.get('/points.json', function(req, res) {
res.setHeader('Content-Type', 'application/json');
fs.createReadStream(__dirname + '/output.json').pipe(res);
});
2- 现在我想过滤这些数据
我有三个选择来做到这一点
1- 在客户端: 我不确定我应该使用 Angular-JS 过滤,还是使用这个库的纯 JS Filter.JS
我有一个非常大的文件 (100mb)。所以,让我们考虑这个例子:
[
{'name': 'Apple', 'colour': 'Red'},
{'name': 'Orange', 'colour': 'Orange'},
{'name': 'Banana', 'colour': 'Yellow'}]
假设我想选择所有绿色的点
var output = arr.filter(function(x){return x.colour =="green"});
2- 在服务器端 我的问题是我想在服务器端过滤 json 数据,所以我不加载和重新加载数据(因为它很大)。 我应该过滤 Node.Js 上的数据。
当我勾选“绿色”时,我想过滤数据。然后使用上述脚本重新加载它。
我读到在 express 3 上,我们可以直接使用 res.json({colour:'green'}) http://expressjs.com/api.html#res.json
但是我怎样才能让它在客户端监听一个事件(复选框),然后重新加载 jsonfile。
任何想法我该怎么做?我正在使用 Node.Js/express
【问题讨论】:
标签: javascript jquery json node.js angularjs