向http js发送http请求

时间:2016-07-13 09:53:17

标签: javascript html angularjs http p2p

我知道如何使用angular js向服务器发送http请求。返回promise后,我知道如何监听response并操纵ui。但是这种方法不能用于我的想法。

然而,我无法弄清楚的是,如何向网站发送请求。

我有一个服务器localhost:800/receiveData,它接收POST请求,然后在angularjs网站上操作UI和DoM

app.get('/', function(req,res){
    res.sendFile(__dirname+'/index.html')
})

app.post('/receiveData', function(req,res){
    var data = req.body.data
    // assume data is a boolean

    if(data){
        //show a view in index.html using angular js or anything else
    }else {
        //show a different view in index.html
    }
});

任何帮助将不胜感激。我需要角度js。拥有SPA是必不可少的。如果需要,我完全愿意添加额外的堆栈。

编辑: 正如MarcoS所指出的那样,理想情况下不应该从服务器端对dom进行操作。我正在将IPFSnode jsangular js合并以开发单页应用程序。使用IPFS设置的节点群与我的服务器(通过设计)有一条开放的通信线路。基于通过通信线路发送到我的服务器的数据包,我需要通过index.html向用户传达消息。

1 个答案:

答案 0 :(得分:2)

我认为你的方法是错误的:在服务器端,你应该操纵UI和DOM ...
您应该只执行 server 活动(更新数据库,发送电子邮件,...,返回静态页面)。
然后,您可以为客户端调用脚本输出结果(JSON / XML / ...格式)以进行读取。

在OP编辑之后,我理解的是他希望服务器推送到客户端 要获得服务方面的推动,您应该在客户端民意调查 在控制器中:

getServerState(function(status) {
  $scope.foo = status; // changes to `foo` $scope variable will reflect instantly on the client
});

以这种方式消费:

app.post('/receiveData', function(req, res) {
  var data = req.body.data; // assume data is a boolean
  res.end(JSON.stringify(data);
});

并且,服务器端:

spring-context-support