Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向angular js发送http请求_Javascript_Html_Angularjs_Http_P2p - Fatal编程技术网

Javascript 向angular js发送http请求

Javascript 向angular js发送http请求,javascript,html,angularjs,http,p2p,Javascript,Html,Angularjs,Http,P2p,我知道如何使用angular js向服务器发送http请求。当承诺返回后,我知道如何监听响应并在此后操作ui。但这种方法不能用于我的想法 然而,我不知道如何向网站发送请求 我有一个服务器localhost:800/receiveData,它接收一个POST请求,然后在angularjs站点上操作UI和DoM app.get('/', function(req,res){ res.sendFile(__dirname+'/index.html') }) app.post('/receiv

我知道如何使用angular js向服务器发送http请求。当
承诺
返回后,我知道如何监听
响应
并在此后操作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。做一个水疗是必要的。我完全愿意在必要时添加额外的堆栈

编辑:
正如MarcoS所指出的,dom的操作在理想情况下不应该发生在服务器端。我将
IPFS
node js
angular js
相结合,开发一个单页应用程序。使用
IPFS
设置的节点群与我的服务器有一条开放的通信线路(按设计)。基于通过通信线路发送到我的服务器的数据包,我需要通过
index.html

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

在OP编辑之后,我所了解的是他希望服务器推送到客户端。
要获得发球端推球,您应该在客户端进行投票。
在控制器中:

function getServerState(changeState) {
  return $http.get("/receiveData").then(function(res) {
    changeState(res.data); // notify the watcher
  }).catch(function(e) {
    /* handle errors here */
  }).then(function() {
    return getServerState(changeState); // poll again when done call
  });
}
以这种方式消费:

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);
});

你真的需要决定谁做视图模板的工作-服务器端还是前端。你是在问如何更新客户端上的视图以响应向服务器发出HTTP请求的不同客户端吗?例如,您可能需要一个聊天系统(Bob向服务器发送一条聊天消息,然后服务器告诉Alice的浏览器有一条新消息,它应该会更新显示)?类似的方法可以工作。我用
socket.io
做了一些实验。你有什么想法?我正在尝试将
IPFS
节点与
nodejs
angularjs
结合起来。
IPFS
节点只能通过与服务器的开放式通信线路进行通信。我添加了一个带有更好解释的编辑。如果你能看到的话,我会很高兴的。谢谢,我明白了。更新我的答案。