我想为学校的一个项目建立一个网站。我设置了所有内容,但得到错误“data.map不是函数”。
实际上我不是专家,我只是想理解和复制老师给我们的代码(在node.js中几乎什么都没做)。
我使用node.js构建了服务器
const express = require("express");
const app = express();
const process = require("process");
const bodyParser = require("body-parser");
let serverPort = process.env.PORT || 5000;
app.use(express.static(__dirname + "/public"));
app.set("port", serverPort);
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.get('/doctors', function(req,res){
var config = require('./doctor.json');
res.send(JSON.stringify(config));
})
/* Start the server on port 3000 */
app.listen(serverPort, function() {
console.log(`Your app is ready at port ${serverPort}`);
});
当我连接到doctor页面时,我加载一个包含所有医生的json文件并将其发送回客户端。这是json
[{
"id": 0,
"born": 2010,
"tag": "cat",
"name": "Eleanore"
}, {
"id": 1,
"born": 2010,
"tag": "dog",
"name": "Katelin"
}, {
"id": 2,
"born": 2012,
"tag": "dog",
"name": "Shea"
}, {
"id": 3,
"born": 2011,
"tag": "cat",
"name": "Stephen"
}, {
"id": 4,
"born": 2011,
"tag": "cat",
"name": "Rosanne"
}, {
"id": 5,
"born": 2011,
"tag": "cat",
"name": "Alexa"
}
]
然后加载json并动态创建项。这是我的客户端代码:
$.get('/doctors', function (data) {
$("<div class='row' id='dottori' ></div>").appendTo(".team");
data.map(addElement);
});
function addElement(doctor){
console.log("Adding doctor");
$("#dottori").append('<p> '+doctor.name+'</p>');
我不断地得到这个错误,即使我将json文件进行了字符串化(与我的教授所做的相同),您也可以在这里找到原始代码:
https://bitbucket.org/polimi-hyp-2017-10173412/polimi-hyp-2018-project/src/master/