2017-05-25 146 views
0

我正在注册一个用户,并且在成功注册后,我希望在客户端发出警告。所以,我在服务器端做了什么,注册后我发送了一个“注册”的值,然后当它获得该值时,我的客户端会知道该用户已注册,但我不知道如何在客户端获得该值侧。从服务器发送值到客户端节点js

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){ 

     } 
    }) 


    }); 

没有非常多,因为我不知道下一步该怎么做

+0

你怎么做的请求在客户端? (jQuery,角度,其他?) –

+0

你可以发布你的客户端代码? – Aron

+0

我正在使用jquery获取价值 –

回答

0

所有你仍然需要做的就是把警报在回调到ajax请求

success: function(response) { 
    alert('User registration succeeded!') 
} 
0

由于您使用HTTP协议,为什么不使用它的内聚响应代码指出发生了哪一个动作?例如:

200 - 用户成功创建 400 - 畸形输入数据 409 - 独特的用户模型领域中的一个已经被采取

等。在响应对象上使用方法“状态”来设置适当的返回码。我假设您正在尝试使用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)“无极API”

$.ajax({ 
    url: 'http://localhost:8000', 
    method: 'POST' 
}) 
    .done(function(data) { 

    }) 
    .fail(function (reason) { 

    }) 
+0

轻微误导我认为这是一个好主意,但我没有意识到它。我写了那些.done和.fail函数警报,提交后我得到{“n”:1,“ok”:1}另一个页面中的json值 –

+0

请问附上代码片段吗?会很方便。 –

相关问题