【发布时间】:2016-02-15 15:54:22
【问题描述】:
我正在使用 SailsJS 和 Angular 将注册表单的数据发布到 MongoDB。我可以成功获取表单数据以记录到控制台,但它不会 POST 到数据库。
User.js
module.exports = {
connection: 'someMongodbServer',
tableName: 'test',
attributes: {
id: {
type: 'integer',
unique: true,
primaryKey: true
},
name: {
type: 'string',
required: true
},
email: {
type: 'email',
unique: true,
required: true
},
password: {
type: 'string',
required: true
},
address: {
type: 'string'
},
phone: {
type: 'string'
},
created_at: {
type: 'datetime',
autoCreatedAt: true
},
updated_at: {
type: 'datetime',
autoUpdatedAt: true
},
toJSON: function() {
var obj = this.toObject();
delete obj.password;
return obj;
}
}
};
UserController.js
create: function(req, res) {
var name = req.param('name');
var email = req.param('email');
var password = req.param('password');
console.log(req.params.all());
User.create({name: name, email: email, password: password}).exec(function(err, user) {
if (err) {
// res.send(500, {error: "DB Error"});
res.json(err.status, {err: err});
return;
} else {
req.session.user = user;
res.send(user);
}
});
}
角度控制器
angular.module('signup').controller('SignupController', ['$scope', '$state', '$http', function($scope, $state, $http) {
// $scope.form_signup = {}
$scope.form_submit_signup = function(req, res) {
var params = {
name: $scope.form_signup.name,
email: $scope.form_signup.email,
password: $scope.form_signup.password
}
$http.post('/signup', params).success(function(){
console.log("Success!", params);
}).error(function(err) {
console.log("Error!", err);
});
}
}]);
表格
<form ng-submit="form_submit_signup()" name="signup">
<div class="form-group">
<label for="exampleInputEmail1">Full Name</label>
<input type="text" class="form-control" name="name" placeholder="Name" ng-model="form_signup.name" required>
</div>
<div class="form-group">
<label for="exampleInputEmail1">Email address</label>
<input type="email" class="form-control" name="email" placeholder="Email" ng-model="form_signup.email" required>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password</label>
<input type="password" class="form-control" name="password" placeholder="Password" ng-model="form_signup.password" required>
</div>
<!--
<div class="form-group">
<label for="exampleInputPassword1">Confirm Password</label>
<input type="password" class="form-control" name="password" placeholder="Password" ng-model="form_signup.password">
</div>
-->
<button type="submit" class="btn btn-block btn-lg btn-primary">Signup</button>
</form>
我如何将表单数据 POST 到 Sails 中的数据库?
【问题讨论】:
标签: javascript angularjs mongodb sails.js