Строка ошибки «Ссылка на объект, не установленная на экземпляр объекта.» указывает, что вы не назначили экземпляр объекта объектной ссылке, и все же вы получаете доступ к свойствам / методам этого объекта.
например: скажем, у вас есть класс под названием myClass и он содержит одно свойство prop1.
public Class myClass
{
public int prop1 {get;set;}
}
Теперь вы получаете доступ к этому prop1 в каком-то другом классе, как показано ниже:
public class Demo
{
public void testMethod()
{
myClass ref = null;
ref.prop1 = 1; //This line throws error
}
}
выше строки выдает ошибку, потому что ссылка класса myClass объявлена, но не создана, или экземпляр объекта не назначается referecne этого класса.
Чтобы исправить это, вам нужно создать экземпляр (присвоить объект ссылке на этот класс).
public class Demo
{
public void testMethod()
{
myClass ref = null;
ref = new myClass();
ref.prop1 = 1;
}
}
Если вы обновляете страницу, вы эффективно перезагружаете ее с сервера, поэтому любые события «onload» снова загорятся. Страница будет отображаться снова с нуля. Тем не менее, вы можете вызвать скрипт PHP, используя AJAX в каком-то «загружаемом» Javascript-прослушивателе. например с JQuery:
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready( function () {
setTimeout("location.reload(true);", 2000);
$.get('home.html', function(ret){
$('body').html(ret);
});
});
</script>
</head>
<body>
<h1>Test</h1>
</body>
</html>
Остерегайтесь вызывать setTimeout () рекурсивно, хотя он может сделать страницу невосприимчивой с течением времени. Вы можете найти это полезным:
http://www.erichynds.com/javascript/a-recursive-settimeout-pattern/
Боюсь, что ответ отрицательный. К тому времени, когда JavaScript был запущен на вашей странице, серверная часть (PHP) уже завершила обработку. Лучше всего выполнить то, что вам нужно до загрузки страницы, или выполнить ее только с помощью JavaScript.