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