首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nodejs Json解析

Nodejs Json解析
EN

Stack Overflow用户
提问于 2015-04-21 20:06:38
回答 2查看 278关注 0票数 0

我正在尝试使用jqgrid的节点js加载json数据。我也在使用jqgrid和Express Js。当我运行node js时,它没有加载json文件。有没有人能帮我解决问题。以下是node js代码片段:

代码语言:javascript
复制
var express = require("express");
var app     = express();
var path    = require("path");
var config = require('./data.json');

app.get('/',function(req,res) {
    res.sendFile(__dirname + '/griddemo.html')
})

app.use(express.static(__dirname + '/public'))
app.listen(3000);

console.log("Running at Port 3000");
EN

回答 2

Stack Overflow用户

发布于 2015-04-21 20:25:59

看起来data.json文件路径有问题或者json文件可能有问题。我已经试过你的脚本了,它对我很有效。我的建议是关注json文件路径。

票数 0
EN

Stack Overflow用户

发布于 2015-04-21 20:38:38

将JSON数据加载到config对象中,然后不对该对象执行任何操作。

我想您想要在HTML文件中传递此配置,以便配置jqgrid插件(我不知道BTW)。

在这种情况下,您应该使用模板语言来生成动态页面(如果您以前做过PHP,您会更熟悉EJS,否则您应该保留默认的jade),并将您的配置对象传递给您从HTML创建的模板。

举例说明:

代码语言:javascript
复制
...
app.set('view engine', 'ejs');//Don't forget to install the ejs module
app.get('/',function(req,res) {
  res.render(__dirname + '/griddemo.ejs', {jqgridConfig: config})
})
...

app.js

代码语言:javascript
复制
...
<script>
  var jqgrid_config = <%- JSON.stringify(jqgridConfig) %>;
</script>
...

griddemo.ejs

如果您还不了解express app generator,最好使用它,它将极大地帮助您理解使用Express呈现动态页面所需的概念。

另一种不生成动态页面的方法是将data.json放在/public中,然后从griddemo.html加载这个JSON文件(参见how to use json file in html code)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29771769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档