【问题标题】:How to send a Node.js response(JSON) to a javascript file?如何将 Node.js 响应(JSON)发送到 javascript 文件?
【发布时间】:2014-11-10 11:43:36
【问题描述】:

我目前正在尝试在图表中绘制来自 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.js(JSON) 的响应直接提供给 javascript 文件? 还是有更简单的方法来绘制我的数据库中的数据?甚至可能使用完全不同类型的数据库...

【问题讨论】:

  • @Pogrindis 很确定这只是“发送 JSON 格式的响应”的“糟糕的英语”。所以评论和回答在这里不是真的有效。
  • @Pogrindis 智者。也许你应该告诉其他人。

标签: javascript json node.js mongodb amcharts


【解决方案1】:

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

res.json({ "dataProvider": pricediff })

或者可能:

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

主要区别在于 first 选项将自动将“Content-Type”标头变量(前提是您尚未发送任何响应)设置为“application/json”给客户端,应该是这样的。

【讨论】:

  • 我认为公平地说这个问题有点模棱两可,我怀疑你回答了什么,但真的不能确定。基于他手动粘贴 JSON 的事实,我得到了另一个印象。
【解决方案2】:

试试这个把你的数据写入那个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!');
});

【讨论】:

    猜你喜欢
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    相关资源
    最近更新 更多