Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery nodejson解析_Jquery_Json_Node.js_Express_Jqgrid - Fatal编程技术网

Jquery nodejson解析

Jquery nodejson解析,jquery,json,node.js,express,jqgrid,Jquery,Json,Node.js,Express,Jqgrid,我正在尝试使用jqgrid的节点js加载json数据。我也在使用jqgrid和expressjs。当我运行NodeJS时,它不会加载json文件。有人能帮我解决什么问题吗。以下是node js代码片段: var express = require("express"); var app = express(); var path = require("path"); var config = require('./data.json'); app.get('/',function

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

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");

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

在config对象中加载json数据,然后对该对象不做任何操作

我想您希望在HTML文件中传递此配置,以便配置我不知道的jqgrid插件

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

举例说明:

...
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

griddemo.ejs

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


另一种不生成动态页面的方法是将data.json放在/public中,并从griddemo.html加载此json文件,请参见

Try console.logconfig@罗伯特罗兹说得对!!请打印日志并检查显示错误。data.json文件i是否与包含您提供的代码的文件路径相同?data.json文件是否包含有效的json?
...
<script>
  var jqgrid_config = <%- JSON.stringify(jqgridConfig) %>;
</script>
...