Javascript 试图解析JSON数据会导致未定义错误
我试图在我的NodeJS应用程序中加载一个local.json文件,并循环遍历这些项,将它们加载到一个有序列表中。我已经创建了我的主js文件和数据模型,以及主html页面,但是我得到了一个奇怪的错误。我收到的文档未在我的data.js文件中定义: document.getElementById('update').appendChild(makeUl(dataObject)) 这是我的主要js文件app.js:Javascript 试图解析JSON数据会导致未定义错误,javascript,html,json,node.js,Javascript,Html,Json,Node.js,我试图在我的NodeJS应用程序中加载一个local.json文件,并循环遍历这些项,将它们加载到一个有序列表中。我已经创建了我的主js文件和数据模型,以及主html页面,但是我得到了一个奇怪的错误。我收到的文档未在我的data.js文件中定义: document.getElementById('update').appendChild(makeUl(dataObject)) 这是我的主要js文件app.js: var express = require('express' ); var app
var express = require('express' );
var app = express();
var bodyParser = require('body-parser');
app.use(express.static(__dirname+ '/client'));
app.use(bodyParser.json());
var Data = require('./models/data.js');
app.get('/', function(req,res){
res.send("Please use /api/data");
});
app.get('/api/data',function(req, res){
Data.getData(function(err, data){
if (err){
throw err;
}
res.json(data);
});
});
app.listen(5000);
console.log('Connected');
这是我收到错误的data.js文件:
var dataObject = require("../jsondata/reduced_dataset.json");
function makeUL(array) {
// Create the list element:
var list = document.createElement('ul');
for(var i = 0; i < array.length; i++) {
// Create the list item:
var item = document.createElement('li');
// Set its contents:
item.appendChild(document.createTextNode(array[i]));
// Add it to the list:
list.appendChild(item);
}
// Finally, return the constructed list:
return list;
}
document.getElementById('update').appendChild(makeUL(dataObject));
var dataObject=require(“../jsondata/reduced_dataset.json”);
函数makeUL(数组){
//创建列表元素:
var list=document.createElement('ul');
对于(var i=0;i
我不明白为什么会收到此错误,因为我在html页面中链接了它:
<html>
<head>
<title>Data Parsing</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="main.css">
</head>
<body>
<div id = "update"> </div>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="app.js"></script>
<script src ="./models/data.js"></script>
</body>
</html>
数据解析
您将json用作数组。发布json文件的一个片段。json文件很大。问题不在文件中,而是data.js文件向html返回一个未定义的错误。该js是在节点中运行服务器端,还是在浏览器中运行客户端?你的main app.js在我看来像是服务器端代码。是的,main app.js是允许我加载json文件的服务器端。原因是nodejs支持var-dataObject=require(“../jsondata/reduced_-dataset.json”)代码>将被调用。那么,您是否得到关于文档未在服务器端定义的错误?不var Data=require('./models/Data.js')代码>尝试在服务器上运行客户端JS,因此出现错误?调用但未显示的Data.getData()
函数是什么?您将json用作数组。发布json文件的一个片段。json文件很大。问题不在文件中,而是data.js文件向html返回一个未定义的错误。该js是在节点中运行服务器端,还是在浏览器中运行客户端?你的main app.js在我看来像是服务器端代码。是的,main app.js是允许我加载json文件的服务器端。原因是nodejs支持var-dataObject=require(“../jsondata/reduced_-dataset.json”)代码>将被调用。那么,您是否得到关于文档未在服务器端定义的错误?不var Data=require('./models/Data.js')代码>尝试在服务器上运行客户端JS,因此出现错误?调用但不显示的Data.getData()
函数是什么?