【问题标题】:sending continuous text data from java code to html via http request通过http请求将连续文本数据从java代码发送到html
【发布时间】:2015-12-01 19:31:03
【问题描述】:

我正在开发一个应用程序,我正在通过 Angular 进行 http post 请求,然后这个请求由 Java 代码接收,代码完成它的工作并生成大约 50-60 行的日志,每秒创建一行。 我想在它们生成时在我的 html 页面上显示这些日志,现在我正在收集所有日志并在请求完成后显示它们? 这可以连续进行吗?

JAVA 代码

Java 代码创建大小为 50-60 的日志数组,完成操作需要 60-90 秒,我在将其转换为 JSON 后发送带有以下代码的数组

response.getWriter.write(applogs)

JAVASCRIPT 代码

var httpPostData = function (postparameters,postData){

return $http ({           
method  : 'POST',
url     : URL,
params  : postparameters,
headers: headers,
data    : postData
}).success (function (responseData){
     return responseData.data;
})
}

var addAppPromise = httpPostData (restartAppParams,app);
    addAppPromise.then(function (logs){
      $scope.logs = logs.data;
})         

HTML 代码

<span ng-repeat="log in logs">{{log}}<br></span>

【问题讨论】:

标签: javascript java angularjs


【解决方案1】:

您至少有两个选择:

  1. (更丑但更快更容易)让您的服务立即响应(不要等待“东西”生成)并创建第二个服务 这将返回到目前为止创建的日志。然后在 JS 中实现轮询:以较短的固定间隔调用第二个服务并更新视图。
  2. 使用EventSource 获取服务器发送的事件。 您也可以使用 websockets,但因为您只希望您的服务器 feed 客户端,EventSource 应该足够了。但是,请记住,此 API 将需要针对 IE/Edge 的 polyfill 和服务器端的特殊处理。

【讨论】:

    猜你喜欢
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-07
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 2014-09-15
    • 2014-04-30
    相关资源
    最近更新 更多