yarkov
@yarkov
Помог ответ? Отметь решением.

Почему не выполняется функция?

Имеем такой скрипт PHP, который отдает javascript:
<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/core/config.php");
require_once(ABSPATH . "core/functions.php");

header("Content-type: application/javascript; charset=utf-8");

?>
<?php

// вот тут проблема.
// функция не выполняется
// нв выходе получаем строку is_auth = ;
// а должно быть true или false
echo "is_auth = ".is_auth().";\r\n";

?>
$(document).ready(function(){
	/*
	*	ОБРАБОТЧИКИ
	*/
	// еще куча кода
	// кстати PHP константы нормально выводятся в контексте js


Я полагаю, что это от того, что header("Content-type: application/javascript; charset=utf-8");
Я прав? Что делать?
  • Вопрос задан
  • 164 просмотра
Решения вопроса 1
miraage
@miraage
Старый прогер
Всё верно. Посмотрите вывод команды "echo false;" - пустая строка.

php > echo "is_auth = " . false . ";\r\n";
is_auth = ;
php > echo "is_auth = " . json_encode(false) . ";\r\n";
is_auth = false;


EDIT

php.net/manual/en/language.types.string.php#langua...

A boolean TRUE value is converted to the string "1". Boolean FALSE is converted to "" (the empty string). This allows conversion back and forth between boolean and string values.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы