如何向javascript文件发送Node.js响应(JSON)?

如何向javascript文件发送Node.js响应(JSON)?,javascript,json,node.js,mongodb,amcharts,Javascript,Json,Node.js,Mongodb,Amcharts,我目前正试图将MongoDB中的数据绘制成一个图表,显示在网站上。 到目前为止,我尝试使用Node.js和mongoose从MongoDB获得响应,这将向浏览器返回一个json对象 app.get('/pricediff',function(req,res){ PriceDifference_collection.find({},{'_id':0},function(err,pricediff) { res.send(pricediff); }) }); 我分别

我目前正试图将MongoDB中的数据绘制成一个图表,显示在网站上。 到目前为止,我尝试使用Node.js和mongoose从MongoDB获得响应,这将向浏览器返回一个json对象

app.get('/pricediff',function(req,res){
    PriceDifference_collection.find({},{'_id':0},function(err,pricediff) {
        res.send(pricediff);
    })
});
我分别使用amcharts使用javascript绘制JSON对象。 但是现在我只是手动将从Node.js获得的JSON响应粘贴到javascript文件中

"dataProvider": {JSON data}
我的问题: 有没有办法将Node.jsJSON的响应直接发送到javascript文件?
还是有更简单的方法从我的数据库中绘制数据?甚至可能使用一种完全不同的数据库…

我猜您是在express或变体子类下运行的。无论哪种方式,您的基本路线是:

res.json({ "dataProvider": pricediff })
或者可能:

res.send( JSON.stringify( { "dataProvider": pricediff }, undefined, 2 ) );

主要区别在于,第一个选项不会自动设置Content-Type头变量,前提是您还没有将任何响应发送给客户端作为application/json,应该是这样。

尝试将数据写入该js文件

var fs=require('fs');
var resultObject=JSON.stringify({ "dataProvider": pricediff },undefined,2);
fs.writeFile('yourJsFile.js',resultObject, function (err) {
  if (err) throw err;
  console.log('It\'s saved!');
});

@Pogrindis很确定这只是发送JSON格式响应的蹩脚英语。“所以,这里的评论和回答并不是真正有效的。”波格里迪斯智者。也许你应该告诉另一个人。我认为公平地说,这个问题有点模棱两可,我怀疑你的回答,但真的不能确定。基于他手动粘贴JSON的事实,我得到了另一个印象。