У меня есть кнопка отправки, которая использует запрос javascript xmlhttp для вызова php-страницы, единственной функцией является запись файла kml для окна google earth на моей главной странице. Страница php не просматривается в веб-браузере как html.Обновить вычисления javascript без перезагрузки страницы
Формулы в файле php работают по назначению. Проблема, с которой я столкнулась, заключается в том, что после того, как я вручную нажимаю кнопку отправки в первый раз, я хочу, чтобы сценарий продолжал повторяться каждые 5 секунд, пока я не перезагружу страницу вручную (или нажмите кнопку, чтобы остановить скрипт). Поскольку я планирую одновременное просмотр нескольких пользователей при каждом просмотре страницы, каждому пользователю назначается случайный 5-значный номер для хранения информации о сеансе и создания файлов kml во вновь созданной папке сеанса до тех пор, пока они не перезагружат страницу (которая затем создаст новый номер сеанса для пользователя).
Поскольку каждый пользователь имеет уникальный идентификатор сеанса, страница не может перезагружаться по мере повторения расчетов php. Из-за этого у меня есть возвращаемая ложная строка в конце моей функции javascript.
Я хотел был бы иметь возможность использовать javascript для вызова setInterval для повторения функции без перезагрузки страницы. Если страница должна была перезагрузиться, только что созданный файл kml теперь не будет доступен для просмотра в новом сеансе. Дайте мне знать, есть ли у кого-нибудь предложения. Ниже приведен действующий код.
DIV ID на главной странице index.php
<div>
<form id="KMLsubmit" name=KMLsubmit >
<input class="KMLsubmit" type="submit" value="Create KML" onclick="createKML()"/>
</form>
</div>
функция JavaScript на главной странице index.php
function createKML() {
$('#KMLsubmit').submit(function() {
$.get("generateKML.php",function(data,status){
});
//alert("Generating your KML files!");
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("kmldetails").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","generateKML.php?session=" + session,true);
xmlhttp.send();
return false;
});
}
Позвольте мне знать, если у кого есть какие-либо предложения о том, как это сделать. Спасибо за помощь.
вам используют jquery, не так ли? –
Как создается переменная 'session' –
, что является целью' $ .get ("generateKML.php", function (data, status) {}); '? –