Мой .php читает некоторые переменные из pos.txt, и мне нужно показать их вживую, не обновляя страницу. Я использовал <meta http-equiv="refresh" content="<?php echo $sec?>;URL='<?php echo $page?>'">
но это раздражает. Я читал кое-что о Ajax, но я не могу понять, как это работает.
$line = file_get_contents('pos.txt');
list($date, $time, $x, $y, $z) = explode(' ', $line);
Для этого вы должны использовать AJAX. Вы должны изучить это http://www.w3schools.com/ajax/default.asp.
Как только вы изучите это, вы будете использовать его всегда.
Просто сделайте ajax-вызов со своей страницы отображения в ваш php-файл.
var ajax = new XMLHttpRequest();
ajax.onreadystatechange=function()
{
if (ajax.readyState==4 && xmlhttp.status==200)
{
var response = ajax.responseText;
// Here is your response
}
}
ajax.open("POST", "request/path/response.php");
ajax.send(any_data);
http://api.jquery.com/jquery.ajax/
$.ajax({
url: "[_YOUR_URL_]/post.txt",
}).done(function(data) {
$("#some_id").val(date.find("some data").text);
});
Приведенный выше код не будет работать, но код, который вы будете использовать, может быть таким простым.
И как указано выше, как только вы пойдете Ajax, вы не вернетесь.
Использование оболочки jQuery облегчает создание пакетов ajax. Вы захотите потратить час или два, читая об этом, а также просматривая различные образцы.
Самый простой способ — использовать jquery ajax:
http://api.jquery.com/jquery.ajax/
Вы хотите сделать что-то вроде этого:
$.ajax({
url: "pos.txt",
}).done(function(data) {
var split = data.split(' ');
var date = split[0];
var time = split[1];
var x = split[2];
var y = split[3];
var z = split[4];
//then insert these variables into the elements you need
$('#date').val(date);
});
Попробуйте это, это будет работать:
<html>
<head>
<script>
var ajax = new XMLHttpRequest();
ajax.onreadystatechange=function()
{
if (ajax.readyState==4 && xmlhttp.status==200)
{
var response = ajax.responseText;
document.getElementById('get-data').innerHtml = response;
}
}
ajax.open("GET", "pos.txt");
ajax.send(any_data);
</script>
</head>
<body>
<div id="get-data">
</div>
</body>
</html>