Javascript 将值从服务器发送到客户端节点js
我正在注册一个用户,成功注册后,我想在客户端提醒一些事情。所以,我在服务器端所做的,在注册之后,我发送一个值“registered”,然后当它得到该值时,我的客户端会知道用户已注册,但我不知道如何在客户端获得该值Javascript 将值从服务器发送到客户端节点js,javascript,node.js,Javascript,Node.js,我正在注册一个用户,成功注册后,我想在客户端提醒一些事情。所以,我在服务器端所做的,在注册之后,我发送一个值“registered”,然后当它得到该值时,我的客户端会知道用户已注册,但我不知道如何在客户端获得该值 router.post('/registration', function (req, res, next) { var stud = { username: req.body.username, email: req.body.email,
router.post('/registration', function (req, res, next) {
var stud = {
username: req.body.username,
email: req.body.email,
password: req.body.password,
admin: 0
};
mongo.connect(url, function (err, db) {
assert.equal(null, err);
db.collection('user-data').insertOne(stud, function (err, result) {
assert.equal(null, err);
console.log('Student inserted');
db.close();
res.json('registred');
})
})
});
我的客户端代码
$('.MyForm').on('submit', function(event){
event.preventDefault();
$.ajax({
url: '/registration',
method: 'post',
success: function(response){
}
})
});
没有太多,因为我不知道下一步要做什么您仍然需要做的是将警报放在对ajax请求的回调中
success: function(response) {
alert('User registration succeeded!')
}
既然您使用的是HTTP协议,为什么不使用其内聚响应代码来指示发生了哪些操作?例如: 200-用户已成功创建 400-格式错误的输入数据 409-已使用唯一用户的模型字段之一 等等。对响应对象使用方法“status”设置适当的返回代码。我假设您在创建服务器时考虑了REST的规则,所以您的端点应该在POST请求时返回新创建的实体
mongo.connect(url, function (err, db) {
assert.equal(null, err);
db.collection('user-data').insertOne(stud, function (err, result) {
if(err) {
/* At this point, you may decide to check what error has been returned to decide which code will be returned*/
return res.status(400).json(err);
}
console.log('Student inserted');
db.close();
res.status(200).json(result);
})
})
在客户端,在您将代码重构为使用jQuery(自1.5.1版起)的“Promise API”之后,代码可能会更美观
$.ajax({
url: 'http://localhost:8000',
method: 'POST'
})
.done(function( data ) {
})
.fail(function (reason) {
})
您是如何在客户端提出请求的?(jquery,angular,other?)你能发布你的客户端代码吗?我正在使用jquery获取值发布你的jquery代码,然后可能想读一点,以便更好地理解你面临的问题:我认为这是一个好主意,但我没有意识到。我在这些.done和.fail函数上编写了警报,提交后,我在另一个页面中获得了{“n”:1,“ok”:1}个json值。请附上代码片段好吗?那就方便了。