#javascript #ajax #html
#javascript #ajax #HTML
Вопрос:
Я хочу прочитать потоковые данные в реальном времени с моего URL (т. Е. http: // ..) Мой URL (т. Е. http: // ..) содержит числовые данные, и они постоянно растут. я хочу прочитать эти данные в свой файл (HTML5 и javascript). Я закончил со статическими числовыми данными, используя AJAX. Но пока это связано с динамическими данными (потоковыми данными в реальном времени). я не могу получить responseText (). Возможно ли принять responseText () этого URL (т. Е. http: // ..), который содержит потоковые данные в реальном времени? как я могу это сделать? Мой код для чтения статических данных
<!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’ для потоковых числовых данных в реальном времени?
Комментарии:
1. Движок Google AJAX Push. Это должно помочь вам начать.
2. @user1037552 Не могли бы вы поделиться с нами некоторыми из сделанных вами попыток кодирования и, возможно, еще несколькими деталями вашего запроса?
3. Также опубликованный вами фрагмент кода является XHTML 1.0 и не имеет ничего общего с HTML5.
4. @Ian Devlin: я изменил <!DOCTYPE html PUBLIC»-//W3C//DTD XHTML 1.0 Strict//RU» » w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd «> в <!DOCTYPE HTML>
5. возможно, заголовки http-ответа?
Ответ №1:
Если вы проверите xmlhttp.readyState == 3
(XMLHttpRequest.ЗАГРУЗКА), затем доступ xmlhttp.responseText
предоставит вам данные, которые были получены с вашего сервера на данный момент. Затем вы можете использовать setInterval для постоянной проверки xmlhttp.responseText
на наличие новых данных.
Ответ №2:
Попробуйте этот скрипт, чтобы получить потоковые данные … но вам нужно 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>