繁体   English   中英

在Nodejs中的http响应中发送Javascript和HTML

[英]Send Javascript and HTML in http response in Nodejs

我正在尝试为javascript文件和html文件发送两个响应,但客户端也没有收到。 为什么客户端没有收到html和javascript文件? 我正在使用Nodejs,javascript和html。

server.js:

const http = require('http');
const fs = require('fs');
const hostname = '127.0.0.1';
const port = 3000;

// use createReadStream instead to save memory
const index = fs.readFileSync('www/index.html');
const java = fs.readFileSync('javascript.js');

// this is our request handler
const server = http.createServer((req, res) => {
  res.statusCode = 200;
  //res.setHeader('Content-Type', 'text/plain');
  res.setHeader('Content-Type', 'text/html');
  res.end(index);
  res.setHeader('Content-Type', 'text/html');
  res.end(java);
  //res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

的index.html

<!DOCTYPE html>
<script src="javascript.js"></script>
<html>
    <body>
        <h2>What Can JavaScript Do?</h2>
        <p id="demo">JavaScript can change HTML content.</p>
        <button type="button" onclick='changeme()'>Click Me!</button>
    </body>
</html>

javascript.js

function changeme() {
    document.getElementById("demo").innerHTML = "Hello JavaScript!"
}

您是否尝试指定它与server.js文件位于同一目录中,即

const java = fs.readFileSync('./javascript.js');

查找文件似乎存在问题,此链接应可帮助您解决此问题。 我希望这可以帮助你。

试用

const fs = require("fs");
const hostname = "127.0.0.1";
const port = 3000;

// use createReadStream instead to save memory
const index = fs.readFileSync("index.html");
const java = fs.readFileSync("javascript.js");

// this is our request handler
const server = http.createServer((req, res) => {
 if (req.url === "/") {
   res.setHeader("Content-Type", "text/html");
   res.write(index);
 }
 if (req.url === "/javascript.js") {
   res.setHeader("Content-Type", "text/javascript");
   res.write(java);
 }
 res.statusCode = 200;
 //   res.writeHead(200, java);
 res.end();
});

server.listen(port, hostname, () => {
 console.log(`Server running at http://${hostname}:${port}/`);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM