节点服务器,html输入null

时间:2018-05-08 06:26:27

标签: javascript html node.js express express-router

我正在尝试使用节点服务前端应用程序,只是学习快速的基础知识。我遇到的问题是,我通过SRC链接到我的html 的javascript无法访问DOM 。如果console.log(文档)我可以将整个文档对象看作一个字符串,但如果我尝试访问内部的任何内容,如表单或正文,则返回 NULL 。 null null null null null。例如,console.log(document.getElementById(' input'))将null记录到浏览器,而console.log(document)将文档记录到浏览器。以同样的方式加载我的CSS工作得很好。为什么是这样?如何绕过它?

路径:weather / src / weather.html

HTML:

<!doctype html>

<head>
  <title>The Weather</title>
  <meta charset='utf-8'>
  <script type='text/javascript' src='/weather.js'></script>
  <link rel='stylesheet' type='text/css' href='weather.css'/>
</head>
<body>
  <div id='entry'>
    <h1>Weather</h1>
    <form name='add_address' action='#'>
      <input id="input" name='address' type='text' placeholder='Street Address, Zip, State' maxlength='60'>
    </form>
  </div>
</body>

路径:weather / router.js

Router.js:

 const path = require('path'),
  express = require('express'),
  router = express.Router(),
  bodyParser = require('body-parser'),
  app = express(),
  port = 3000

app.listen(port)

router.get( '/weather', (req, res)=>{
   res.sendFile(path.join( __dirname + '/src/weather.html' ))
})
router.get( '/weather.css', (req, res)=>{
  res.sendFile(path.join( __dirname + '/src/weather.css' ))
})

app.get('/weather.js', (req, res) => {
  res.sendFile(path.join( __dirname + '/src/weather.js'))
})
app.use('/', router)

1 个答案:

答案 0 :(得分:0)

@George Bailey。谢谢。在加载DOM之前,脚本正在运行。我想要了解一些基础知识。

<head>
  <title>The Weather</title>
  <meta charset='utf-8'>
  <link rel='stylesheet' type='text/css' href='weather.css'/>
</head>
<body>
  <div id='entry'>
    <h1>Weather</h1>
    <form name='add_address' action=''>
      <input id="input" name='address' type='text' placeholder='Street Address, Zip, State' maxlength='60'>
    </form>
  </div>
</body>
<footer>
  <script type='text/javascript' src='./weather.js'></script>
</footer>