如何使用AJAX读取直播流数据

4

我希望能够从我的URL(例如http://..)读取实时流数据。 我的URL(例如http://..)包含数字数据,并且不断增长。 我想在我的文件中(HTML5和JavaScript)读取这些数据。 我已经使用AJAX处理了静态数字数据。 但是,在处理动态数据(实时流数据)时,我无法获取responseText()。 是否可能获取包含实时流数据的URL(即http://..)的responseText()? 我该如何做到这一点? 我用于读取静态数据的代码为

<!DOCTYPE HTML>
<html>
<head>    

<script type="text/javascript">
  function accessWebservice()
    {           
        var xmlhttp;
        xmlhttp = new XMLHttpRequest();

 //xmlhttp.open("get","http://192.168.15.174/Streamer/StartStream.aspx?IsTestData=true",true);   
 //above URL contains live streaming numberic data that i want to read
 //But when i am using above URL i am not getting responseText (**How to get it?**)
  xmlhttp.open("get","http://localhost/StaticDemoData.txt",true);   //This contains static data
        xmlhttp.onreadystatechange=function() {
         if (xmlhttp.readyState==4)
         {
             if (xmlhttp.status == 200 )
              {
                 var responseData=xmlhttp.responseText;
           alert(responseData);
              }
             else
             {
                 alert("Server returned: " + xmlhttp.status);
             }
         }
        }

        xmlhttp.send(null);
    }
</script>
</head>

如何获取实时流数字数据的 'xmlhttp.responseText'?

2
Google AJAX Push Engine。这应该能让你开始了。 - Aadit M Shah
@user1037552能否向我们分享一些您尝试编码的内容,以及有关您请求的更多详细信息? - Sampson
你发布的那段代码片段是XHTML 1.0,与HTML5毫无关系。 - Ian Devlin
@Ian Devlin: 我已将<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">更改为<!DOCTYPE HTML>。 - user1037552
也许是HTTP响应头? - Alex
2个回答

2
如果您检查xmlhttp.readyState == 3(XMLHttpRequest.LOADING),那么访问xmlhttp.responseText将给您迄今为止从服务器接收到的数据。然后,您可以使用setInterval不断检查xmlhttp.responseText以获取新数据。

1
尝试使用此脚本来流式传输数据...但您需要在目录中拥有jquery.js文件和StaticDemoData.txt文件,您可以将其更改为扩展名为.php的其他文件,并在文件上获取您的查询。
<html>
<head>
<script type="text/javascript" src="jquery-1.5.1.js"></script>

<script type="text/javascript">
$(document).ready(function(){
  userdetails();
});


function userdetails(){
     $.post('StaticDemoData.txt',function(data){
         $('.result').html(data);
       });     

       setTimeout("userdetails()",1000);
}

</script>
</head>
<body>
<div class="result"></div>
</body>
</html>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接