如何从后端获得实时反馈?

时间:2017-10-01 08:35:37

标签: javascript jquery node.js mongodb express

我在客户端使用POST jQuery请求。此帖子请求启动一个功能。当函数完成时(把一些东西放在mongodb中)我希望客户端更新网站上的数据,而无需用户刷新。

你们能告诉我如何做到这一点吗?我甚至不知道如何处理它或如何谷歌它:/

我的堆栈是:Nodejs,Express,EJS,MongoDB和jQuery

1 个答案:

答案 0 :(得分:1)

  • 您需要构建一个已有的AJAX请求
  • 然后在您提到的函数完成处理客户端请求并将其写入数据库后,在后端内部,您需要使用res.json将其发送回客户端

    router.post('/whatever_endpoint_you_are_using', function(req, res, next) {
      // code for processing the response & writing stuff to the database
      // then send the data back to the client
        res.json({"data": your_data});   
    });
    
  • 然后您可以在客户端访问此数据,在AJAX请求的成功回调中

    success: function(response){
       console.log(response.data) // your_data
    }
    
  • 最后,您可以使用JS或jQuery将此数据添加到DOM(您提到您正在使用jQuery,所以这里是一个jQuery示例)

    $('#data_container').append('<p>'+response.data+'</p>')
    
    // or something similar I don't know how your page is structured