nodejs后台接收不到前台提交的用户信息

来源:互联网 发布:宁波知豆电动汽车公司 编辑:程序博客网 时间:2024/06/07 17:51

最近在做一个webapp的项目,遇到一个前后端交互的问题就是:后台接收不到前台提交给后台的数据。在网上查了一些资料,都是写的发送端和接收端post的两个地址一样才行,但是,我把post的两个地址写的一样,一直报错,后来发现是app.use()里的路径问题。


项目所用技术:后台:nodejs、express;前端:vuejs 2.0、vue-resource


实现功能:用户先注册,然后把注册信息提交到后台,并在后台进行接收,最后把数据存放到数据库。


前台注册页面采用vue-resource发送http  post请求:

signup (name, password, rePassword) {  this.$http.post('/api/signup', {    name: this.name,    password: this.password,    rePassword: this.rePassword  }).then(response => {    if (response.status === 200) {      console.log('注册成功');      this.$router.push('/HottestMovie'); //指定注册成功后要跳转的页面    } else {      console.log('注册失败');    }  }, response => {    // 注册失败时要执行的函数  });}


后台接收数据的代码为:

var app = express()
var apiRoutes = express.Router();
apiRoutes.post('/signup', function (req, res, next) {  const name = req.body.name;  const password = req.body.password;  const rePassword = req.body.rePassword;  const user = new users({    name: name,    password: sha1(password)   // sha1()对密码进行加密  });
  //保存数据到数据库  user.save(function (err, result) {    if (err) {      console.log('reg err:' + err);      throw err;    } else {      console.log('用户注册成功');    }  });});app.use('/api', apiRoutes);


这里,post里面的路径和前台发送请求里的post路径是不一样的。请注意这里app.use()里面的路径,但其真正的接收地址为

/api/signup
这个地址跟前台的post地址是一样的。



记录一下自己做项目时遇到的问题,如有错误,还请多多指教!








阅读全文
1 0