2024年京东Web前端岗面试必问,前端知识点小结--mongodb,阿里大牛整理
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】给大家分享一些关于HTML的面试题。一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
app.listen(‘8989’)
cmd运行js;
打开html页面:
读取静态资源–app.post()
JS代码:
const express=require(‘express’);
const app=express();
// post请求需要依赖专门的模块
// 第一步:npm install body-parser -S;
// 第二步:在页面中引入
// 第三步:在post请求的第二个参数加上刚刚解析body-parser得到的参数。
var bodyParser = require(‘body-parser’)
var urlencodedParser = bodyParser.urlencoded({ extended: false })
// 静态资源读取
// /默认 寻找的路径需要是index.html
app.use(‘/’,express.static(‘./www/form’));
// app.post()可以处理post请求
// post请求参数处理比较麻烦,需要依赖一个模块 body-parser
// 具体用法可以参照手册
// post请求的第二个参数需要通过解析body-parser模块得到
app.post(‘/submit’,urlencodedParser,(req,res)=>{
// 获取post请求的参数 req.body
res.send(req.body);
})
app.listen(‘8989’);
按步骤进行即可
两者整合:
const express=require(‘express’);
const app=express();
var bodyParser = require(‘body-parser’)
var urlencodedParser = bodyParser.urlencoded({ extended: false })
app.use(‘/’,express.static(‘./www/form’));
app.post(‘/submit’,urlencodedParser,(req,res)=>{
res.send(req.body);
})
app.get(‘/submit’,(req,res)=>{
console.log(req.query);
res.send(您输入的用户名是${req.query.user}
);
})
app.listen(‘8989’);
静态资源读取—ajax
先在目录下再创建一个public文件夹
public一般放置的是css 、js文件;
js代码:
const express=require(‘express’);
const app=express();
// 引入处理post参数的模块
var bodyParser = require(‘body-parser’)
var urlencodedParser = bodyParser.urlencoded({ extended: false })
app.use(‘/’,express.static(‘./www/form’));
//把静态资源呈递
app.use(‘/public’,express.static(‘./public’));
app.post(‘/submit’,urlencodedParser,(req,res)=>{
// 获取post请求的参数 req.body
res.send(req.body);
})
app.get(‘/submit’,(req,res)=>{
// get请求的参数在url内部 req.query获取get请求参数
console.log(req.query);
res.send(${req.query.user}
);
})
app.listen(‘8989’);
index.html:
这是登录页面
按钮
ajax:不需要跳转
打开其他页面:
提交get请求,跳转:
post请求:
===============================================================================
自己写的相关介绍链接:https://blog.csdn.net/weixin_53037175/article/details/111829602
连接数据库,和后台联系起来:
const express=require(‘express’);
const app=express();
// 引入数据库
var MongoClient = require(‘mongodb’).MongoClient;
// 数据库地址
var url = “mongodb://localhost:27017”;
app.use(‘/zsh’,(req,res)=>{
// 插入数据库
// 连接数据库 把数据库和后台联系起来
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db(“student”);
dbo.collection(“stu1”). find({}).toArray(function(err, result) { // 返回集合中所有数据
if (err) throw err;
console.log(result);
db.close();
res.send(result);
});
});
})
app.use(‘/’,(req,res)=>{
MongoClient.connect(url, function(err,db) {
if (err) throw err;
// 选择数据库
var dbo = db.db(“student”);
var myobj = { name: “菜鸟教程”, url: “www.runoob” };
// 插入数据操作
dbo.collection(“stu1”).insertOne(myobj, function(err, res1) {
if (err) throw err;
db.close();
res.send(‘数据插入成功了’);
});
});
})
app.listen(‘8989’);
==============================================================================
首先是静态资源HTML
index.html
请注册
//addata,提交数据到指定的路径地址,这个根据js的要求修改
封装好的js文件,一般是放在自己创建文件夹里(比如model):
dao.js
//数据库操作
// 先下载好数据库包再引入,这个也可以在php中操作数据库
const MongoClient=require(‘mongodb’).MongoClient;
// 数据库地址,27017是默认是数据库端口号
const url=“mongodb://localhost:27017”;
// 把数据库连接的操作,封装起来。
function _connect(callback){
// 连接上数据库
//连接数据库是异步操作,不知道什么时候连接成功了。用到回调函数的概念
MongoClient.connect(url, function(err, db) {
// 连接数据库成功
if (err) throw err;
// 说明连接数据库成功了 db代表连接成功以后返回的数据
callback(db);
});
}
//插入数据操作:
// module.exports导出数据
module.exports insert=function(databse,type,myobj,callback){
_connect(function(db){
// db连接成功的数据
// db.db(‘操作的数据库’)
var db=db.db(database);
//判断myobj类型,转换为数组作为语句集合插入数据库
if(myobj instanceof Array){
myobj=myobj
}else{
myobj=[myobj]
}
// 一条数据是对象 insertOne 多条数据是数组 用insertmMany
db.collerction(type).insertMany(myobj,function(err,r){
if err throw err;
bd.close();
// r得到的是成功插入数据的信息
callback®;
})
})
}
//查看操作:
// 查询封装的时候,考虑是否需要分页是否需要排序
// 需要书写函数参数的默认值,因为用户有可能不会书写
module.exports.find=function(databse,type,callback,myobj={},mysort={},myskip=0,mylimit=0){
_connect(function(db){
// 查询数据
var dbo = db.db(database);
// sort排序
// skip跳过多少条数据
// limit()限制取数据的数量
dbo.collection(type).find(myobj).sort(mysort).skip(myskip).limit(mylimit).toArray(function(err, result) { // 返回集合中所有数据
if (err) throw err;
console.log(result);
db.close();
callback(result);
})
})
}
//更新操作:
module.exports.update=function(databse,type,myobj,updateObj,callback){
_connect(function(db){
var dbo = db.db(dbname);
var updateStr = {$set: {updateObj}};
// updateOne(查询条件(可以是id也可以是语句),更改后数据)
dbo.collection(col).updateOne(myobj, updateStr, function(err, res) {
if (err) throw err;
console.log(“文档更新成功”);
db.close();
callback(res)
});
})
}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
最后
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
给大家分享一些关于HTML的面试题。
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
化!**
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-vlgCMFuI-1712239998636)]
最后
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
给大家分享一些关于HTML的面试题。
[外链图片转存中…(img-6SrC4W5k-1712239998636)]
[外链图片转存中…(img-s5BNxNTq-1712239998637)]
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
更多推荐
所有评论(0)