相关疑难解决方法(0)

如何从XMLHttpRequest获得进展

是否有可能获得XMLHttpRequest的进度(上传的字节数,下载的字节数)?

当用户上传大文件时,这对于显示进度条很有用.标准API似乎不支持它,但也许在那里的任何浏览器中都有一些非标准扩展?毕竟,这似乎是一个非常明显的功能,因为客户端知道上载/下载了多少字节.

注意:我知道"轮询服务器进度"替代方案(这就是我现在正在做的事情).这个问题的主要问题(除了复杂的服务器端代码)通常是,在上传大文件时,用户的连接是完全没有的,因为大多数ISP提供了较差的上游.因此,提出额外请求并不像我希望的那样响应.我希望有一种方法(可能是非标准的)来获取这些信息,浏览器始终拥有这些信息.

javascript ajax progress-bar

131
推荐指数
5
解决办法
13万
查看次数

使用带有angular2的RESTapi流

如何使用angular2消耗"永无止境"的数据流?我正在写一个小聊天应用程序,其中一个服务器用go编写,一个客户端用angular2编写.对于推送服务,我实现了一个端点,可以保持连接.授权用户可以server.com:123/broker使用GET请求连接到消息代理.每当用户的新消息到达时,它就以json-object的形式发送给代理.然而,当使用normale语法时,我将不会得到任何结果(因为代码等待连接被关闭,因为我想):

return this._http.request(req).map( (res: Response) => {    
    return res.json();
}).subscrube( results => {
    console.log("results arrived", results);
});
Run Code Online (Sandbox Code Playgroud)

消费流有很多优点(比如带有休息api的视频流,真棒).有没有办法做到这一点?

/编辑:这里有更多信息:我检查了http事务,看起来没问题:

GET /broker HTTP/1.1
User-Agent: curl/7.35.0
Host: mydomain.com:12345
Accept: */*
Authorization: Bearer [JWT]
Run Code Online (Sandbox Code Playgroud)

具有响应头的服务器ansers:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Mon, 01 Feb 2016 11:16:45 GMT
Transfer-Encoding: chunked
Run Code Online (Sandbox Code Playgroud)

[然后客户端正在侦听此连接,直到服务器将某些内容推送到流中

ba
{"target":"56addcef7bec6d5785ee6945","payload": ...}
Run Code Online (Sandbox Code Playgroud)

到目前为止似乎是正确的.我可以看到以十六进制(ba),CRLF,有效负载(json)和最终CRLF的块的大小.所以,在谈论HTTP标准时,一切似乎都没问题.但是,我的Angular2不会获取块.

angular

3
推荐指数
1
解决办法
5987
查看次数

标签 统计

ajax ×1

angular ×1

javascript ×1

progress-bar ×1