XMLHttpRequest.onload空响应

时间:2018-02-07 13:55:30

标签: javascript json node.js

有一个奇怪的问题。我在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文件,并且使用createElementappendChild时,应将 ORG1 添加到{ {1}}和 ORG1地址<h1>标记。

但我无法让它发挥作用!出于某种原因,来自服务器的响应为空,我所有的都是这个错误:

enter image description here

如果我将<p>置于onload函数中,我显然可以看到我的JSON文件在这里!

enter image description here

0 个答案:

没有答案