有一个奇怪的问题。我在nodeJS上创建了简单的web服务器,它提供3个文件(HTML,JS脚本文件和JSON)。前两个文件可以在这里找到:https://jsfiddle.net/xyaxn9Lp/。
JSON包含两个属性:
{
"organization" : "ORG1",
"address" : "ORG1 Address"
}
服务器代码:
const http = require('http');
const fs = require('fs');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer(function (req, resp) {
if (req.url === "/") {
fs.readFile("index.html", function (error, pgResp) {
if (error) {
resp.writeHead(404);
resp.write('Contents you are looking are Not Found');
} else {
resp.writeHead(200, { 'Content-Type': 'text/html' });
resp.write(pgResp);
}
resp.end();
});
}
else if (req.url === "/main.js") {
fs.readFile("main.js", function (error, pgResp) {
if (error) {
resp.writeHead(404);
resp.write('Contents you are looking are Not Found');
} else {
resp.writeHead(200, { 'Content-Type': 'application/javascript' });
resp.write(pgResp);
}
resp.end();
});
}
else if (req.url === "/organizations.json") {
fs.readFile("organizations.json", function (error, pgResp) {
if (error) {
resp.writeHead(404);
resp.write('Contents you are looking are Not Found');
} else {
resp.writeHead(200, { 'Content-Type': 'application/json' });
resp.write(pgResp);
}
resp.end();
});
}
else {
resp.writeHead(200, { 'Content-Type': 'text/html' });
resp.write('<h1>Wrong URL!</h1>' + req.url);
resp.end();
}
});
server.listen(port, hostname);
console.log("Server running at http://" + hostname + ":" + port + "/"
我这样做的原因 - 我希望在空页面上的<h1>
和<p>
标签中插入两个JSON文件属性。当加载index.html页面时,它会向我的Web服务器发送请求以获取此JSON文件,并且使用createElement
和appendChild
时,应将 ORG1 添加到{ {1}}和 ORG1地址到<h1>
标记。
但我无法让它发挥作用!出于某种原因,来自服务器的响应为空,我所有的都是这个错误:
如果我将<p>
置于onload函数中,我显然可以看到我的JSON文件在这里!