基于Node.js实现页面跳转
项目场景:提示:这里简述项目相关背景:例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Overridepublic void run() {bytes = mmInStream.read(buffer);
基于Node.js实现html页面跳转
问题描述
最近在使用Node.js和html学习页面的相关知识,在学习到页面跳转时,出现了跳转不成功的问题,在这里记录下,供以后参考。
在Node.js中,主要使用express框架,前端则使用html。
项目代码结构
该小Demo主要涉及四个文件,包括:
main.js:该部分为起始文件,是整个项目的入口文件;
main.html:该部分是主页面的html文件;
new.html:要跳转页面的html文件;
router.js:路由文件,用来根据URL及参数给出具体的操作;
node_modules:存放相关模块的文件夹。
注:main.html和new.html两个在views文件夹下。
相关模块配置
使用npm分别install以下三个模块:
- express
- art-template
- express-art-template
构建main.js
代码
部分如下:
const express = require('express')
const app = express()
const router = require('./router')
app.engine('html',require('express-art-template'))
app.use(router)
app.listen(3000,() => {
console.log('successful...')
})
实现了对3000端口的监听。
构建router.js
在该文件中,主要创建路由实例,对URL及相关参数实现监听,并渲染相关界面。
代码
部分如下:
const express = require('express') //创建路由实例
const router = express.Router()
router.get('/',(req,res) => {
res.render('main.html')
})
module.exports = router //暴露接口
构建main.html
在该文件下,只实现了一个超链接,用来实现实现页面的跳转,代码
部分如下:
<div>
<a href="/new" >页面跳转</a> <!--跳转至新页-->
</div>
构建new.html
本文件十分简单,只是用一行输出语句来表示跳转成功,代码
部分如下:
<div>
<th>成功实现跳转</th>
</div>
运行结果
在小黑屏中输入命令
:
node main.js
代码成功运行,打开http://localhost:3000
:
可以看到出现了跳转页面的超链接,点击这个超链接:
页面并没有实现有效的跳转。
问题分析与解决
如果纯粹使用html语言,是可以直接实现超链接的跳转的,在使用router后,应该实现对相关URL的监听才可以实现跳转的目标。
于是,在router.js中补充如下的代码
:
router.get('/new',function(req,res){
res.render('new.html')
})
即当URL为localhost:3000/new
时,使用res.render跳转。
由于html的超链接与render渲染的链接保持一致,因此可以实现使用超链接的跳转。
跳转的效果如下:
至此问题解决啦!
更多推荐
所有评论(0)