Я пытаюсь запустить php-скрипт после нажатия кнопки, а затем перезагрузить страницу, но у меня есть проблема, теперь я делаю это:
<a href="#" class="btn green big" onclick="startUpdate();">Start Update</a>
то это сценарий:
<script type="text/javascript"> function startUpdate() { $.get("Update/startUpdateTxt.php"); return false; } </script>
эти сценарии пишут в txt-файле, все работает отлично, но я хочу обновить страницу, потому что мне нужно изменить какой-то элемент и прочитать изменение, которое я делаю в txt-файле, поэтому я попытался сделать это:
<script type="text/javascript"> function startUpdate() { $.get("Update/startUpdateTxt.php"); return window.location.href=window.location.href; } </script>
таким образом, страница обновляется, но phpscript больше не работает и ничего не пишет в файле, это phpps:
startUpdateTxt.php:
<?php $myFile = "updateStatus.txt"; $fh = fopen($myFile, 'w') or die("can't open file"); $stringData = "StartUpdate\n"; fwrite($fh, $stringData); fclose($fh); ?>
как я могу сделать, чтобы обновить страницу и вызвать в фоновом режиме phpscript?
Вам нужно будет убедиться, что ваш вызов ajax завершен. Для этого вы можете переадресовать функцию обратного вызова:
function startUpdate() { $.get("Update/startUpdateTxt.php", function() { location.reload(); }); }
Тем не менее, на самом деле не имеет большого смысла (для меня …) использовать ajax для вызова php-скрипта, а затем перенаправить, было бы проще просто отправить сценарий php и обработать все оттуда.