Получение данных ajax запросом

342
20 мая 2017, 19:31

Вообщем есть ajax запрос:

$('.btn').on('click', function(){
 $.ajax({
     url: '/index.php',
     data: {....},
     type:'POST',
     cache: false,
     success: function(data){
         if(data == 1)
         {
            .....
         }
     }
 });

И файл который обрабатывает этот запрос и возвращает значение:

<?
    function(...){
      ....
      return 1;
    }
?>

Но возвращает он ее только если поместить его в echo (Например: echo 1; и тогда результат запроса, data будет равно единице), но в моем случае это не подходит. Как сделать так чтобы запрос возвращал булево значение?

Answer 1

Если коротко - то никак.

Ajax - это обмен между клиентом (браузером) и сервером посредством XmlHttpRequest, который, сильно упрощая, есть текст. Никаких булевых переменных, объектов, массивов, чисел с плавающей точкой там быть не может по определению. А ещё потому, что эти сущности имеют в общем случае разное битовое представление на сервере (где не обязательно php, а что угодно) и в браузере (где js).

Если сильно хочется, то можно данные на сервере запаковать в JSON, а в браузере их распаковать.

READ ALSO
Jscroll моментально прогружает все страницы

Jscroll моментально прогружает все страницы

Использую плагины jscroll, laravel mix, а так же стандартный шаблон laravelapp

333
Как узнать крайнюю левую позицию sortable?

Как узнать крайнюю левую позицию sortable?

Как у знать крайнюю левую позицию элемента при его перемещении у плагина jquery UI sorttable

195