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

最近在做一个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地址是一样的。



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








你可能感兴趣的:(nodejs后台接收不到前台提交的用户信息)