老师我问一个前后端联系的问题以及mongodb的问题

来源:18-1 课程总结

qq_MVP_皇德耀世_0

2017-10-10

这门课已经学完了,感觉老师讲的很不错,但是还有好多细节没说清楚。

现在我还是没搞懂这个前端发一个请求比如:

axios.get('/goods/list',{params:param}).then((result)=>{})

那么这里是怎么和后端server结合在一起的??前后端分离,server是一个单独的文件,为什么

server端这样写 router.get('/list', function(req, res, next) {}就能够接收到前端的请求呢,他怎么判断这个/list请求是来自于这个特定的axios而不是其他的axios呢?这2部分是怎么结合在一起的呢?


第二点就是mongodb的连接问题,课程的代码仅仅在goods.js里连接了数据库,是不是连接数据库可以在任何地方写这部分代码呢?而且在goods.js里连接了,在其他js里也可以查询db,这是为啥?还有一点,开启auth连接mongodb时必须加authSource=admin否则连接失败这是为啥?我在admin数据库里加的user

mongoose.connect('mongodb://username:password@127.0.0.1:27017/mall?authSource=admin')


写回答

1回答

河畔一角

2017-10-11

首先恭喜你学完了这门课程。你这几个问题问得非常好,说明你不仅学习,还善于思考,会举一反三。
第一个问题,前端和后端请求能对应起来跟用什么框架,什么语言,什么形式没有关系。后端只要采用的是rest接口,就是提供一个url,只要再浏览器可以直接打开这个url前端就能直接发请求,他们之间的对应关系就是靠url关联的,就比如你问题里面提到的,/goods/list,因为后端定义了这个url地址,所以前端能请求到。
第二个问题,在小项目当中,我们只要写了连接数据库的代码,在任何位置都可以进行读写操作,再大项目中,一般更为专业,会用到连接池。
最后,你连接数据库加用户名的方式就按照你的方式来,通常,我们直接改个端口就行了,不用特意设置账号

0
3
慕雪4154088
回复
qq_MVP_皇德耀世_0
不同的项目部署到同一个服务器肯定要使用不同的端口号开启server,就算两个后端项目都有 /list 这个路由,它们的服务运行在不同的端口上,你前端访问的时候肯定是要写端口号的呀。,由不同的端口号就把不同的项目服务区分开来了呀。
2019-02-21
共3条回复

Vue2.6+Node.js+MongoDB 全栈打造商城系统

课程全面升级,Vue2.6+Koa2,从前端入门全栈,让你的未来更宽广

2634 学习 · 924 问题

查看课程