如何在服务器端设置使浏览器端页面跳转

本文介绍了如何在服务器端设置响应报文头来实现浏览器端的页面跳转。通过示例代码展示了在server.js中进行配置,当用户提交信息或直接访问特定URL时,浏览器将执行页面跳转操作,并检查data.json文件是否正确生成并存储了用户输入的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何服务器端设置使浏览器端页面跳转?

解决办法: 设置响应报文头,通过响应报文头告诉浏览器,执行一次页面跳转操作.

示例如下
server.js:

var http = require('http');
var fs = require('fs');
var path = require('path');
http.createServer({
	if (req.url === '/' || req.url === '/index' && req.method === 'get') {
	// 读取index.html
		res.render(path.join(__dirname, 'views', 'index.html'));
	} else if (req.url.startsWith('/add') && req.method === 'get') {
		// 先要获取用户提交的数据
		// 要获取用户get提交的数据,可以通过req.url直接获取这些数据,但是需要自己截取字符串,不太方便
		// 如果使用到url模块,可以将get提交的数据解析成一个json对象
		console.log(urlObj.query.title,urlObj.query.text)
		// 读取data.json文件中的数据,并将读取到的数据转换为一个数组
		fs.readFile(path.join(__dirname, 'data', 'data.json'), 'utf8', function (err, data) {
			// 因为第一次访问网站, data.json文件本身就不存在,所以会报错; 并不是网站错误,所以需要处理一下
			if (err && err.code !== 'ENOENT') {
				throw err;
			}
			// 如果读取到数据了,那么就把读取到的数据data,转换为list数组
			// 如果没有读取到数据,那么就把[]转换为数组
			var list = JSON.parse(data || '[]');
			// 先把用户提交的数据保存到data.json文件中
			list.push(urlObj.query);
			// 把list数组中的数据写入到data.json文件中
			fs.writeFile(path.join(__dirname, 'data', 'data.json'), JSON.stringify(list), function (err) {
				if (err) {
					throw err;
				}
				// 设置响应报文头,通过响应报文头告诉浏览器,执行一次页面跳转操作
				res.statusCode = 302; // 300开头,可以去node的http模块上查找对应的状态码
				res.statusMessage = 'Found'; // 同上查找
				res.setHeader('Location', '/'); // 跳转到首页,重定向
				res.end();
			});
		})	
	}
}).listen(8080, function () {
	console.log('http://localhost:8080')
})


运行服务器node server.js后,
在相关的页面页面输入对应的信息提交,或者也可以直接在url地址栏输入"localhost:8080/add?title=123&text=aaaaaaaaaaa",
然后观察浏览器页面是否会跳转;还有data.json文件是否会生成,然后文件中有没有你输入的信息.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值