簡體   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