Строка ошибки «Ссылка на объект, не установленная на экземпляр объекта.» указывает, что вы не назначили экземпляр объекта объектной ссылке, и все же вы получаете доступ к свойствам / методам этого объекта.
например: скажем, у вас есть класс под названием 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;
}
}
Ну, вызов ajax считывает ответ с сервера и этот ответ должен отображаться как некоторый тип читаемых данных, таких как application/json
или text/html
.
Чтобы написать, что данных, вам нужно echo
это с сервера с PHP.
Оператор return не записывает данные, он просто возвращается на уровне сервера.
Ajax вызывает данные так же, как и мы, читает их как строку. Это в основном доступ к другой веб-странице и «получение» результата. «Возврат» PHP возвращает значение только на сервере. Вам нужно фактически выводить данные, чтобы при вызове Ajax на странице, на которую он смотрит, действительно записаны данные.
Команда echo
выводит данные на Standart Output, это в приложениях веб-браузера, клиент, который запросил данные. В CLI напечатайте данные на консоли. И return
команда выдает функцию со значением, но ничего не печатает.
Если вы хотите общаться между функциями PHP, вы должны использовать return
. Но если вы хотите вывести некоторые данные, вы должны использовать echo
.
Вызов Ajax использует ответ HTTP-запроса. PHP-скрипт не генерирует результат, сохраняя его, но эхом.