请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

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

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地址,所以前端能请求到。
第二个问题,在小项目当中,我们只要写了连接数据库的代码,在任何位置都可以进行读写操作,再大项目中,一般更为专业,会用到连接池。
最后,你连接数据库加用户名的方式就按照你的方式来,通常,我们直接改个端口就行了,不用特意设置账号

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_MVP_皇德耀世_0 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2017-10-11 16:58:41
  • 提问者 qq_MVP_皇德耀世_0 #2
    恩恩,大概明白了,谢谢老师,但是如果服务器上有2个项目,分别有一个server,这2个server端都有router.get('/list', function(req, res, next) {}这个方法,接收来自/list的请求,那么前端发请求时axios.get('/goods/list',{params:param}).then((result)=>{}),如何判断是发给哪个server的呢?项目多了,出现相同的请求,岂不是会乱掉
    
    还有mongodb我觉得还是要开启auth验证,设置账号!毕竟别人是可以连接到阿里云服务器上的mongodb的,这样没有安全性,改端口的话万一别人知道了岂不是就可以连接数据库各种乱来了?
    回复 有任何疑惑可以回复我~ 2017-10-11 17:05:45
  • 慕雪4154088 回复 提问者 qq_MVP_皇德耀世_0 #3
    不同的项目部署到同一个服务器肯定要使用不同的端口号开启server,就算两个后端项目都有 /list 这个路由,它们的服务运行在不同的端口上,你前端访问的时候肯定是要写端口号的呀。,由不同的端口号就把不同的项目服务区分开来了呀。
    回复 有任何疑惑可以回复我~ 2019-02-21 10:32:33
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信