目录
1、querystring模块中字符串转对象,或对象转字符串的方法
1、querystring模块中字符串转对象,或对象转字符串的方法
在Node.js环境中,可以使用querystring模块来进行URL查询字符串的解析和序列化。
该模块parse()和stringify()方法来进行字符串和对象之间的转换
要将查询字符串解析为对象,可以使用parse()方法。
要将对象序列化为查询字符串,可以使用stringify()方法。
2、请用代码的方式获取post请求的参数
在Node.js中,可以使用http或https模块创建HTTP或HTTPS服务器,
然后使用request事件来处理客户端发来的请求。在处理POST请求时
,请求数据通常会以数据流的形式发送到服务器。
要获取POST请求的参数,我们需要监听data事件来收集数据流,
然后监听end事件来处理完整的请求数据。
const http = require('http');
const server = http.createServer((req, res) => {
if (req.method === 'POST') {
let body = '';
req.on('data', (chunk) => {
// 监听data事件,收集请求数据
body += chunk.toString();
});
req.on('end', () => {
// 监听end事件,处理完整的请求数据
const params = new URLSearchParams(body);
console.log(params.get('foo')); // 输出POST请求中名为foo的参数的值
// 在这里进行请求数据的处理
// ...
res.end('OK'); // 发送响应数据
});
} else {
res.statusCode = 404;
res.end();
}
});
server.listen(8000, () => {
console.log('Server listening on port 8000');
});
3、简单说一下你所了解的设计模式有哪些?分别是什么含义
①、观察者模式 在对象之间建立一种发布/订阅的关系,使得当一个对象发生改变时,所有订阅它的对象都会得到通知并做出相应的响应。
②、单例模式 确保只有一个对象被实例化,并提供全局访问点来访问该对象。
③、代理模式 :为其他对象提供一种代理以控制对这个对象的访问。
④、工厂模式(Factory Pattern):在创建对象时使用工厂方法,而不是直接实例化对象。这使得代码更具灵活性,
因为可以随时更改所创建的对象类型,而无需修改大量代码。
4、link和@import的区别
<link>可以引入CSS、JavaScript、icon等资源,而@import只能引入CSS。
<link>标签可以放在文档的头部或者尾部,而@import只能放在CSS文件的头部。
当页面加载时,<link>标签引入的资源会同时开始加载,而@import引入的CSS文件会等到页面全部加载完再开始加载。
<link>标签支持media属性,可以根据不同的媒体类型加载不同的CSS文件,而@import不支持。